欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

代码统计工具--statSVN 博客分类: svn statSVNsvn代码统计

程序员文章站 2024-03-19 23:58:28
...

使用说明

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