【教程】StatSVN + Subversion 实现强大的项目代码统计功能

1143 views 0 comments posted at about 8 years ago Raymond Tang

一,简介

代码统计在项目管理中经常运用,这样可以在一定程度上通过量来考核项目成员的绩效,同时广义上的统计则可以方便项目各种指标的追踪统计分析等。而StatSVN则是一款强大的工具,它可以基于SVN对以下数据进行统计:

1)程序员工作量统计

2)SVN提交日志统计

3)代码行

4)文件统计

5)文件夹大小统计

6)代码提交Tag云

等等方面进行统计,统计结果以表格和图表的方式进行。

这个工具的官方主页:http://statsvn.org/,而SVN相关工具可以从我之前的文章中的链接下载:http://hi.baidu.com/1987raymond/blog/item/d668ce1f7dc61f6ef724e468.html

本文主要举例阐述StatSVN的使用方法,但并完全叙述其所有内容,详细内容,请参看官方使用手册:http://wiki.statsvn.org/User%20Manual.ashx。这个工具使用Java编写,你需要确认的电脑上安装了Java1.4.x或者以上版本,可以在cmd.exe中运行 java -version 确定,以下是我本机的情况:

java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

二,准备测试SVN版本库和代码

我在本机的Visual SVN Server上创建测试版本库STATSVN_TEST,并且创建两个测试账户TestUserA以及TestUserB。


将SVN迁出到E:\Apps下:


用这两个账号在Trunk下创建一个测试项目并且进行几次代码签入更改等操作。


最终的版本如下:


三,准备STATSVN执行的批处理文本

针对本文的例子,我写了一个批处理文件STATSVN_TEST.bat:

echo begin generating stat
echo ---------------------

cd /d "E:\Apps\STATSVN_TEST"
svn log --xml -v > svn.log

cd /d E:\Raymond\statsvn-0.7.0

java -jar statsvn.jar -disable-twitter-button -include

"**/*.cs;**/*.aspx;**/*.js;" -exclude

"**/Bin/**;**/*.dll;" -output-dir "E:\Raymond\statsvn-

0.7.0\Result\STATSVN_TEST
"

"E:\Apps\STATSVN_TEST\svn.log" "E:\Apps\STATSVN_TEST"

echo ---------------------

echo generating stat succeed
pause

E:\Raymond\statsvn-0.7.0\Result\STATSVN_TEST\index.html
exit

请注意以上红色标注的内容:

"E:\Apps\STATSVN_TEST"是SVN签出的地址;E:\Raymond\statsvn-0.7.0 是我的statsvn工具的文件statsvn.jar所在地址; -include参数指需要统计的文件的类型,**表示0/多个文件夹,*表示0/多个字符,?代表单一字符,路径以;隔开;-exclude参数指不包含的,与include一致,只不过设置了include后就不用再设置exclude参数了;-output-dir 参数指输出结果的路径,statsvn将生成很多的文件包括统计的图片、html文档等等;"E:\Apps\STATSVN_TEST\svn.log" "E:\Apps\STATSVN_TEST"分别是SVN生成的日志的路径以及SVN签出的地址; E:\Raymond\statsvn-0.7.0\Result\STATSVN_TEST\index.html是生成的结果的首页文件。

四,运行结果

点击运行刚刚建立的批处理文件,程序开始运行:



最终会打开程序运行结果的首页:


Developers链接,按照程序员展示其代码统计等信息:




Commit Logs 链接:




Lines of Code链接:


File Sizes and File Counts


Directory Sizes


Repo Heatmap


LOC and Churn



还有其他的一些统计页面,这里不再叙述,可以参看自己的测试结果。

本文为原创文章,如需转载,请注明转载地址,谢谢。

Add comment

Comments (0)

No comments yet.
In this Page