代码统计工具--statSVN

使用说明

StatSVN是一个SVN版本库的静态分析工具,它能生成SVN log日志文件的html报表。这样能大概地评估项目内各成员的工作量、开发效率、趋势,帮助项目管理。使用它之前下载SVN的命令行客户端,以便能自动化任务。

statSVN使用前提是在java环境下,并且项目使用svn作为代码管理工具。至于java环境和svn客户端的安装,略。只说statSVN的下载安装,在SoureceForge上面有StatSVN的下载地址如下:http://sourceforge.net/projects/statsvn/

下载完成的StatSVN只有一个jar包,即StatSVN.jar,同时还有关于它的一份简单说明。只要读这个说明即可学会statSVN的简单应用。

统计步骤

l  假定现在是在项目开发过程中,我们需要知道某个月项目各成员代码工作量。我们从svncheck out到本地的代码目录为“E:\code”。

l  statSVN统计是svn日志中的变动,所以我们要先生成svn的日志。然后根据这个日志生成统计结果。我们打开控制台,转到E:\statSVN目录下,运行这个命令:

    svn log -r {2011-10-1}:{2011-11-1} -v --xml e:\code >.\logfile.log

       基本命令式svn log-r后面跟着的{2011-10-1}:{2011-11-1}表示需要进行统计的时间范围;--xml表示以xml格式输出log文件;最后两个参数表示进行统计的代码目录,并将指定在当前目录下存放日志结果。

这里的svn就是我们安装的SVN客户端。如果路径配置的没有问题(能找到svn.exe,也即svn的路径在系统的环境变量path),运行后会生成logfile.log文件。

l  代码统计。打开控制台,转到E:\statSVN目录下,运行下面的命令:

java -jar .\statsvn.jar -output-dir .\resultFolder -include **/*.java -exclude **/*.properties -threads 7 .\logfile.log E:\code

其中.\startsvn.jar就是E:\statSVN中的jar包,-output-dir后面的是统计结果输出的目录名称;-include-exclude可以指定哪些类型的文件在统计范围之内;-threads后面的是同时运行的svn进程数;最后两个参数则分别是log文件,以及本地代码目录。

在我们执行上述命令时,StatSVN将对10月份SVN上面所有的版本进行检查,比较相邻的每两个版本之间的差异,并从SVN的历史版本中检查出这两个版本中添加/删除/修改了多少行代码,同时按照版本提交人员来统计每人的代码量。

    从控制台中可以看到正在统计时显示的信息。StatSVN会比较相邻版本间修改过的文件,统计增加/减少的代码行数。

在所有的差异都被比较完成后,StatSVN将以网页形式将统计结果的报告放在-output-dir中指定的目录里。我们现在可以在E:\statSVN\resultFolder中看一看统计结果了。

结果说明

在总览页面E:\statSVN\resultFolder\index.html中可以看到本次代码统计结果的总览。其中包括本月基本统计信息,代码行前10,总代码行变化等信息。

查看各成员代码情况,在总览页中点击Developers链接,进入各开发成员代码行统计页。在这里可以查看各个开发成员当月代码量与代码提交情况(提交日期,时间等)

查看提交日志,在总览页中点击Commit Logs链接,进入提交记录页面。在这里可以查看开发组成员当月提交时的描述记录。

统计工程中文件与目录变动。

(1)   StatSVN无法识别重命名的情况。

(2)   StatSVN统计同一个类在相邻版本间增加/删除的代码行数。对于仅做出修改的代码行(例如a = 5修改为a = 6)不会统计在内。

(3)   在查看代码提交日志时,提交记录默认显示方式不支持中文。需要手工在浏览器中将编码方式修改为中文。

参考:http://jingyan.baidu.com/article/ff41162563915412e4823724.html

 

猜你喜欢

转载自sdfx.iteye.com/blog/1946943