[轉]SVN的可視化日志統計工具StatSVN


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM