svn代码统计工具使用说明

版权声明: https://blog.csdn.net/lihaidong1991/article/details/79666515

使用statsvn统计svn中的代码量


StatSVN介绍

StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;开发者最近所提交的;文件数量;平均文件大小;最大文件;哪个文件是修改最多次数的;目录大小;带有文件数量和代码行数的Repository tree。StatSVN当前版本能够生成一组包括表格与图表的静态HTML文档。

StatSVN下载

StartSVN官网地址为:http://www.statsvn.org/index.html 

StartSVN的下载页面为:http://www.statsvn.org/downloads.html也可以下载本文的附件

现在官网上最新的版本为:statsvn-0.7.0

StatSVN使用

使用须知 

StatSVN的运行需要Java的运行环境支持,所以大家需要安装Java的运行环境(Java Runtime Environment)。JRE可以从Sun的网站上下载。

Statsvn在使用中需要使用SVN的客户端,因此需要确保机器上可以访问到SVN的客户端命令

 

Checkout工作拷贝 

首先从SVN仓库中checkout一个需要统计的路径(如果在工作目录下进行统计,首先请更新,保证工作区中的版本是最新的版本,确保统计结果的准确性),例如我把我的某个路径下的工程checkout在我的电脑上的 D:\MyProjects 路径下。

 

生成svn log文件 

首先通过命令行进入工作目录:D:\MyProjects ,再使用svn log -v --xml > logfile.log的命令,其中 logfile.log为log文件的名称,可以根据需要自行定义。这样就在工作拷贝的目录下生成一个名称为logfile.log的文件。

注:要在命令行中使用svn命令,在安装TortoiseSVN时必须选择安装commend组件,可以在cmd命令行里输入svn help测试一下该组件是否安装,如果未安装是无法使用svn log命令的。如果能够操作svn server的话也可以直接在服务器上生成svn log然后下载到本地来使用

 

调用StatSVN进行统计 

首先我们把从官网上下载的statsvn-0.7.0.zip包解压缩到D:\statsvn-0.7.0目录下

通过命令行进入D:\statsvn-0.7.0目录

调用命令java -jar statsvn.jar D:\MyProjects\logfile.log D:\MyProjects,命令运行成功即完成了统计工作。

该命令的格式是java -jar statsvn.jar [options] <logfile> <checked-out-module>

参数<logfile>为前一步中生成的svn log文件,<checked-out-module>为checkout工作拷贝目录,注意两个参数都要列出正确的全路径,否则会提示错误如logfile.log找不到等等 


查看统计结果

 

上述命令运行成功后,可以看到在D:\MyProjects目录下生成一组包括表格与图表的静态HTML文档。可以用浏览器打开index.html查看统计结果。

示例图片:

StatSVN优缺点分析

优点

StatSVN会把当前SVN库的状态用图片和图表的方式展现出来,可以按不同分类分别展开,功能强大。

缺点

StatSVN统计的是所有代码行,包括注释和空行,但一般度量要求是有效代码行,在分析时需要注意这一点。

StatSVN不考虑修改的代码行数,只考虑与上一版本相比新增(+)与删除(-)的代码行数。

Demo:
目录:D:\statsvn-0.7.0
svn安装时需要全部勾选(在cmd下用svn help验证)
需要安装java环境,配置java环境变量(cmd下用java验证)

1.生成svn log文件 ,某时间段某目录(E:\GTJ2017_model)下的代码统计:

E:\GTJ2017_model>svn log -r {2017-01-01}:{2017-12-05} -v --xml>logfile.log


2.调用StatSVN进行统计

通过命令行进入D:\statsvn-0.7.0目录
调用命令java -jar statsvn.jar E:\GTJ2017_model\logfile.log E:\GTJ2017_model -include **/*.h;**/*.cpp,命令运行成功即完成了统

参考:https://blog.csdn.net/lihaidong1991/article/details/79666515



猜你喜欢

转载自blog.csdn.net/lihaidong1991/article/details/79666515