1. 程式人生 > >使用statsvn統計svn中的程式碼量

使用statsvn統計svn中的程式碼量

StatSVN介紹

StatSVN是一個Java寫的開原始碼統計程式,從statCVS移植而來,能夠從Subversion版本庫中取得資訊,然後生成描述專案開發的各種表格和圖表。比如:程式碼行數的時間線;針對每個開發者的程式碼行數;開發者的活躍程度;開發者最近所提交的;檔案數量;平均檔案大小;最大檔案;哪個檔案是修改最多次數的;目錄大小;帶有檔案數量和程式碼行數的Repository tree。StatSVN當前版本能夠生成一組包括表格與圖表的靜態HTML文件。

StatSVN下載

現在官網上最新的版本為:statsvn-0.7.0

StatSVN使用

使用須知 

StatSVN的執行需要Java的執行環境支援,所以大家需要安裝Java的執行環境(Java Runtime Environment)。JRE可以從Sun的網站上下載。

Statsvn在使用中需要使用SVN的客戶端,因此需要確保機器上可以訪問到SVN的客戶端命令

Checkout工作拷貝 

首先從SVN倉庫中checkout一個需要統計的路徑(如果在工作目錄下進行統計,首先請更新,保證工作區中的版本是最新的版本,確保統計結果的準確性),例如我把我的某個路徑下的工程checkout在我的電腦上的 D:\MyProjects 路徑下。

生成svn log檔案 

首先通過命令列進入工作目錄:D:\MyProjects ,再使用svn log -v --xml > logfile.log的命令,其中 logfile.log為log檔案的名稱,可以根據需要自行定義。這樣就在工作拷貝的目錄下生成一個名稱為logfile.log的檔案。

注:要在命令列中使用svn命令,在安裝TortoiseSVN時必須選擇安裝commend元件,可以在cmd命令列裡輸入svn help測試一下該元件是否安裝,如果未安裝是無法使用svn log命令的。如果能夠操作svn server的話也可以直接在伺服器上生成svn log然後下載到本地來使用

呼叫StatSVN進行統計 

首先我們把從官網上下載的statsvn-0.7.0.zip包解壓縮到D:\statsvn-0.7.0目錄下

通過命令列進入D:\statsvn-0.7.0目錄

呼叫命令java -jar statsvn.jar D:\MyProjects\logfile.log D:\MyProjects,命令執行成功即完成了統計工作。

注意:
D:\MyProjects 是你的專案副本目錄(即checkout下來的目錄 )


該命令的格式是java -jar statsvn.jar [options] <logfile> <checked-out-module>

引數<logfile>為前一步中生成的svn log檔案,<checked-out-module>為checkout工作拷貝目錄,注意兩個引數都要列出正確的全路徑,否則會提示錯誤如logfile.log找不到等等 

Java程式碼  收藏程式碼
  1. <logfile>          path to the svn logfile of the module  
  2. <directory>        path to the directory of the checked out module  

       [options]為可選引數,該引數格式及用法如下:

Java程式碼  收藏程式碼
  1. Some options:  
  2. -version            print the version information and exit  
  3. -output-dir <dir>         directory where HTML suite will be saved  
  4. -include <pattern>        include only files matching pattern, e.g. **/*.c;**/*.h  
  5. -exclude <pattern>    exclude matching files, e.g. tests/**;docs/**  
  6. -tags <regexp>        show matching tags in lines of code chart, e.g. version-.*  
  7. -title <title>            Project title to be used in reports  
  8. -viewvc <url>         integrate with ViewVC installation at <url>  
  9. -trac <url>           integrate with Trac at <url>  
  10. -bugzilla <url>           integrate with Bugzilla installation at <url>  
  11. -username <svnusername> username to pass to svn  
  12. -password <svnpassword> password to pass to svn  
  13. -verbose            print extra progress information  
  14. -xdoc                   optional switch output to xdoc  
  15. -xml                    optional switch output to xml  
  16. -threads <int>            how many threads for svn diff (default: 25)  
  17. -concurrency-threshold <millisec> switch to concurrent svn diff if 1st call>threshol  
  18. -dump               dump the Repository content on console  
  19. -charset <charset>        specify the charset to use for html/xdoc  
  20. -tags-dir <directory>     optional, specifies the director for tags (default '/tags/')  
  21. Full options list: http://www.statsvn.org  

檢視統計結果

上述命令執行成功後,可以看到在D:\MyProjects目錄下生成一組包括表格與圖表的靜態HTML文件。可以用瀏覽器開啟index.html檢視統計結果。

示例圖片:

StatSVN優缺點分析

優點

StatSVN會把當前SVN庫的狀態用圖片和圖表的方式展現出來,可以按不同分類分別展開,功能強大。

缺點

StatSVN統計的是所有程式碼行,包括註釋和空行,但一般度量要求是有效程式碼行,在分析時需要注意這一點。

StatSVN不考慮修改的程式碼行數,只考慮與上一版本相比新增(+)與刪除(-)的程式碼行數。

相關推薦

使用statsvn統計svn程式碼

StatSVN介紹 StatSVN是一個Java寫的開原始碼統計程式,從statCVS移植而來,能夠從Subversion版本庫中取得資訊,然後生成描述專案開發的各種表格和圖表。比如:程式碼行數的時間線;針對每個開發者的程式碼行數;開發者的活躍程度;開發者最近所提交的;檔

StatSVN統計SVN程式碼

注意事項 可以到虛擬機器上進行安裝除錯 必須首先將SVN環境搭建完成 感覺只是生成了一個初略的統計,但是期望大家能夠挖掘下它內在的功能,共同提高 StatSVN介紹 StatSVN是一個Java寫的開原始碼統計程式,從statCVS移植而來,能夠從Sub

StatSVN統計SVN伺服器某專案的程式碼

1.下載並安裝SVN統計工具StatSVN 1)下載地址:http://www.statsvn.org/downloads.html 2)解壓壓縮包,到一個目錄,如E:\statsvn-0.7.0; 2.checkout 工作目錄 從SVN伺服器上check

StatSvn 統計SVN程式碼資訊

StatSvn 背景(copy的): StatSVN是一個Java寫的開原始碼統計程式,從statCVS移植而來,能夠從Subversion版本庫中取得資訊,然後生成描述專案開發的各種表格和圖表。比如:程式碼行數的時間線;針對每個開發者的程式碼行數;開發者的活躍程度;開發者

svn程式碼統計工具StatSVN的使用

1,下載地址:sourceforge.net/projects/statsvn/, 解壓縮到目錄D:\statsvn2,假設SVN目錄F:\Work\Project,若未Check Out請先cmd定位到D:\statsvn,然後執行命令svn co https://xxx.

svn程式碼統計工具

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

記-統計svn與git的log日誌程式碼行變更

任務要求 統計指定時間內,指定git地址與svn地址上的所有人員的程式碼行變更情況。   解決方案 最初為根據資料庫中儲存的所有git與svn地址來統計所有人員的提交程式碼行。之後由於庫中儲存的地址不全,改為通過gitlab api,找到上面的所有倉庫,之後統計程式碼行。svn由於資料庫中地

SVN遷移 程式碼並在pycharm進行程式碼提交的詳細配置

SVN 程式碼的遷移與提交 文章目錄 SVN 程式碼的遷移與提交 1.簽出原始碼到本機 2. 文件的修改 3.pycham中svn配置 1.簽出原始碼

區塊鏈教程Fabric1.0原始碼分析Fabric1.0.4go程式碼統計

  區塊鏈教程Fabric1.0原始碼分析Fabric1.0.4go程式碼量統計,2018年下半年,區塊鏈行業正逐漸褪去發展之初的浮躁、迴歸理性,表面上看相關人才需求與身價似乎正在回落。但事實上,正是初期泡沫的漸退,讓人們更多的關注點放在了區塊鏈真正的技術之上。 Fabric 1.0原始碼筆記 之Fabri

Git統計某段時間內的程式碼

對當前分支,統計'2018-08-25'~'2018-12-31'時間內的程式碼量命令: git log  --since='2018-08-25' --until='2018-12-31' --format='%aN' |&

ProjectLombok外掛----減少 Java 應用程式樣板程式碼(get、set.....)

Lombok是一個外掛,用於自動生成java程式碼,減少 Java 應用程式中樣板程式碼量 Lombok外掛的安裝(必須安裝,如果不安裝Eclipse等工具無法解析Lombok註解)          安裝方法:                 1、雙擊下載下來的J

47.Fabric 1.0原始碼分析(47)Fabric 1.0.4 go程式碼統計

Fabric 1.0原始碼筆記 之Fabric 1.0.4 go程式碼量統計 1、概述 除test、vendor、mocks、example、protos外,go核心程式碼檔案341個,核心程式碼行63433行。 find ./ |grep -vE 'test|

Git 常用命令和統計程式碼

摘要 分享Git日常操作中常用的命令,分享如何統計在專案中貢獻的程式碼量。 下面列出Git bash常用命令。 1. git clone **(專案地址) 克隆一個git專案到本地,將git專案拉取到本地 2. git status 檢視檔案狀態,列出當前目錄沒有被git管理,以及被修改過還未提交的

svn怎樣進行程式碼同步?

在公司裡,我們要養成每天上班前更新程式碼,下班前提交程式碼的習慣,並且做好說明。 svn更新程式碼的時候,先右鍵點選需要更新的專案,在team中進入資源庫同步介面,選擇incoming mode,顯示的檔案是需要更新的, 黑色向右箭頭:本地修改過的檔案(可以選擇提交,或者覆

Mac下統計任意資料夾程式碼行數的工具——cloc

github -> https://github.com/ruglcc oschina-> http://git.oschina.net/ruglcc coding -> https://coding.net/u/ruglcc email   

git統計程式碼相關命令

統計某人的程式碼提交量,包括增加,刪除: git log --author="$(git config --get user.name)" --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc

統計專案程式碼

1、cd到專案根目錄2、找到不想被統計進來的資料夾如./test和./proto_py3、輸入以下命令[[email protected] myapp]#find . \( -path "./

【SSH 框架專案的搭建--簡化版】使用註解代替xml的,減少程式碼

之前的《圖書資訊管理系統》專案中(http://blog.csdn.net/ssh159/article/details/52439676), Spring的配置太繁瑣。考慮開發大專案上,假設專案的action層會有成百上千 個Class類,不簡化程式碼的 情況下就要

使用EclipseSVN提交程式碼遇到的問題

問題: Previous operation has not finished; run ‘cleanup’ if it was interrupted svn: Commit failed (d

eclipse使用svn提交程式碼

原文連結:點我 新公司工作,版本管理工具變成了svn,之前一直用git作為版本管理,用的編輯IDE是IntelliJIDEA,在這個編輯器下工作,還是很方便的,但是現在使用eclipse和svn。有點不習慣,但還是將他們記下來。   首先看我的另一篇博文,說