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就没更新过了,不知道是否是烂尾了...实在惋惜