SVN的可視化日誌統計工具StatSVN

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就沒更新過了,不知道是否是爛尾了...實在惋惜

相關文章
相關標籤/搜索