StatSVN很好的統計工具,能幫你統計團隊成員各自的編寫量,代碼總數,提交狀況,文件數量等狀況,而且以html網頁圖表的方式發佈統計結果。html
之前寫過一個叫NOVA的小程序,並用StatSVN管理,經過這個例子介紹StatSVN的一些功能java
上面是發佈報表的主頁,這主要描述統計內容的起止時間,和代碼行的統計狀況等(聽說代碼行的數量包括空代碼行,沒有考證過)linux
而後能夠看各個程序員的一些狀況程序員
統計了每個月的編寫狀況,提交狀況,代碼修改佔代碼總數的百分比sql
一天中哪幾小時比較活躍shell
每週那幾天比較活躍apache
提交日誌小程序
文件數量統計服務器
文件平均行數統計dom
統計的文件類型,以及文件以代碼行數多少排序
文件以版本號(修改次數)排序。
文件夾的一些統計狀況,還有一個目錄統計圖須要安裝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上的命令以下:
#check out 最新版本 svn co http://xxxx.xxxxx.xxxxx/xxxxx
生成新版本的log日誌:
#生成項目SVN日誌 svn log -v --xml > 日誌名XXX.log
在存放統計結果HTML的目錄中,執行statsvn.jar,一個簡單的例子:
#簡單例子 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 utf-8 生成的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"
#!/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的設置方法能夠參考網上)
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就沒更新過了,不知道是否是爛尾了...實在惋惜