StatSVN很好的統計工具,能幫你統計團隊成員各自的編寫量,代碼總數,提交情況,文件數量等情況,並且以html網頁圖表的方式發布統計結果。
以前寫過一個叫NOVA的小程序,並用StatSVN管理,通過這個例子介紹StatSVN的一些功能
上面是發布報表的主頁,這主要描述統計內容的起止時間,和代碼行的統計情況等(據說代碼行的數量包括空代碼行,沒有考證過)
然后可以看各個程序員的一些情況
統計了每月的編寫情況,提交情況,代碼修改占代碼總數的百分比
一天中哪幾小時比較活躍
每周那幾天比較活躍
提交日志
文件數量統計
文件平均行數統計
統計的文件類型,以及文件以代碼行數多少排序
文件以版本號(修改次數)排序。
文件夾的一些統計情況,還有一個目錄統計圖需要安裝JAVA因為系統剛重裝沒裝JAVA就不演示了~
攪動情況,藍條長表示在某個時期修改的越多
使用前提
StatSVN的主頁:http://www.statsvn.org/
它是一個2M多的JAR文件,是SVN的統計工具,統計結果以HTML格式保存。所以,如果要發布結果供團隊成員瀏覽,需要一台服務器(或PC,貌似是廢話...),安裝網頁服務器(apache2等),需要 JVAV (筆誤 實為JAVA)環境,至少安裝有SVN客戶端,以便取得SVN服務器上的最新版本。apache2,java,svn的安裝這里不做詳細介紹(網上資料比較齊全)。
使用方法
下載statsvn.jar
用SVN客戶端取得SVN服務器上的最新版本代碼,比如Linux上的命令如下:
1
2
|
#check out 最新版本
svn co http:
//xxxx
.xxxxx.xxxxx
/xxxxx
|
生成新版本的log日志:
1
2
|
#生成項目SVN日志
svn log -
v
--xml > 日志名XXX.log
|
在存放統計結果HTML的目錄中,執行statsvn.jar,一個簡單的例子:
1
2
|
#簡單例子
java -jar ..
/statsvn
.jar ..
/nova/
日志名XXX.log ..
/nova
-charset utf-8 -disable-twitter-button -title Nova -include **/*.cpp:**/*.h -exclude **
/sqlite3/
*.*
|
java -jar ../statsvn.jar 執行statsvn.jar,后面是它的參數
參數1:../nova/日志名XXX.log 調用上面生成的SVN日志
參數2:../nova 最新版本所在的目錄
參數3:-charset GB2312 生成的HTML所用的字符集
參數4:-disable-twitter-button 關閉twitter連接,可能statsvn的開發者是一個twitter愛好者,statsvn默認在項目和開發人員的名字后加個twitter連接按鈕,方便互動。這在中國行不通,大家都懂的...所以讓twitter連接按鈕不顯示。
參數5:-title 標題名 這個設置在HTML頁面中顯示的項目標題
參數6:-include **/*.cpp:**/*.h 表示統計的文件類型,默認情況下statsvn統計指定目錄下的所有文件(包括一些開發環境自動生成的文件等,這個參數可以設置指定統計具體文件,例子中的表示只統計項目目錄下得CPP與H文件。
參數7:-exclude **/sqlite3/*.* 表示不統計的內容,例子中的參數表示不統計項目文件夾中sqlite3的內容(因為sqlite3的內容是調用別人寫的程序,統計進去沒有意義~)
這就是statsvn最常用的幾個參數,其他更詳細參數可以參考官方網站的介紹。
擴展使用方法
由於StatSVN是靜態的,需要執行一次才能查看新的結果,但是我們可以讓他在系統中定時執行,比如每天晚上2:00執行一次,那么第二天就可以看到昨晚為止的所有統計情況。
以linux系統為例
我們可以把上述取得新版本,生成日志,生成統計的過程寫成sh文件,並命名為"任務名.sh"
1
2
3
4
5
6
7
8
9
|
#!/bin/sh
cd
~
cd
statsvn
svn co http:
//192
.168.5.32
/nova
cd
nova
svn log -
v
--xml > svn.log
cd
..
cd
novalog
java -jar ..
/statsvn
.jar ..
/nova/svn
.log ..
/nova
-charset utf-8 -disable-twitter-button -title Nova -include **/*.cpp:**/*.h -exclude **
/sqlite3/
*.*
|
然后用crontab定時任務工具對這個sh進行定時執行(crontab的設置方法可以參考網上)
1
2
3
4
|
o@O:~$
crontab
-l
# m h dom mon dow command
0 2 * * *
/home/o/statsvn/
任務名.sh
o@O:~$
|
把生成的html結果所在的目錄軟連接到apache的根目錄(比如"www"文件夾下)就可以用過網頁訪問了。
StatSVN小巧簡潔而且實用,是不錯的團隊管理工具,不過2010年初發布到版本0.7.0就沒更新過了,不知道是不是爛尾了...實在可惜
http://my.oschina.net/myriads/blog/15665