统计工具StatSVN使用
虞博涛
2023-12-01
统计工具StatSVN使用指南
1. 概述
StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。
1.1 目的
本文档目的是对代码统计工具statSVN的安装和使用方法进行说明。
1.2 角色职责 不涉及
1.3 入口标准 需要统计的SVN Library已存在
1.4 输入 需要统计的代码
1.5 输出 统计报告
1.6 出口标准 成功输出统计报告
2. 流程
2.1 准备工作
2.1.1 安装Java运行环境
StatSVN运行需要Java的运行环境支持,所以需要安装Java的运行环境jdk 1.4.或更高版本。编写本指南时最新版本是jdk1.6,如需要可以到网上下载。在命令行模式下运行java –version命令,可以查看到所安装java运行环境版本。
2.1.2 安装SVN客户端命令 Statsvn在使用中需要使用SVN的客户端,因此需要确保机器上可以访问到SVN的客户端命令
2.1.3 下载StatSVN StatSvn可以从StatSvn官网http://www.statsvn.org/index.html下载,编写本指南时最新版本是 0.4.1,压缩包下载到本机目录下,如c:\statsvn,无需安装。
2.2 统计工作
2.2.1 Checkout工作拷贝 从仓库中CheckOut一个需要统计的路径:如果在工作拷贝目录下进行,请先更新一下,保证取出是最新的版本,以保证统计的结果准确性。假定该工作拷贝目录为c:\myproject。
2.2.2 生成Log文件 生成工作拷贝的XML Log文件供Statsvn解析使用:首先通过运行命令行进入工作拷贝目录c:\myproject,再使用svn log -v --xml > logfile.log (注意是--xml两个横杆)的命令,其中 logfile.log为log文件的名称,可以根据需要自行定义。这样就在工作拷贝的目录下生成一个名称为logfile.log的文件。
2.2.3 调用StatSVN进行统计 调用StatSvn的统计分析工作: 首先通过运行命令行进入c:\statsvn,再调用命令java -jar statsvn.jar c:\myproject\svn.log c:\myproject,命令运行成功即完成了统计工作。 该命令的格式是java -jar statsvn.jar [options] <logfile> <checked-out-module> ,其中参数<logfile>为2.2.2中生成的log文件,<checked-out-module>为2.2.1中工作拷贝目录,注意两个参数都要列出正确的全路径,否则会提示错误如logfile.log找不到等等。[options]为可选参数,该参数格式及用法如下:
-version
print the version information and exit -
output-dir <directory> directory where HTML suite will be saved
-include <pattern> include only files matching pattern, e.g. **/*.c;**/*.h
-exclude <pattern> exclude matching files, e.g. tests/**;docs/**
-tags <regexp> show matching tags in lines of code chart, e.g. version-.*
-title <title> Project title to be used in reports
-viewvc <url> integrate with ViewVC installation at <url>
-bugzilla <url> integrate with Bugzilla installation at <url>
-username <svnusername> username to pass to svn
-password <svnpassword> password to pass to svn
-verbose print extra progress information
-xdoc optional switch output to xdoc
-threads <int> how many threads for svn diff (default: 25)
-concurrencyThreshold <millisec> switch to concurrent svn diff if 1st call>thr eshold (default: 4000)
-dump dump the Repository content on console
2.3 查看统计结果
2.3.1 功能概述
查看统计结果: 上述命令运行成功后,可以看到在c:\statsvn目录下生成一组包括表格与图表的静态HTML文档。可以用浏览器打开index.html查看统计结果。 以下为部分截图供参考: 代码行数的时间线; 针对每个开发者的代码行数;这里的Changes对应提交次数 开发者的活跃程度; 开发者最近的提交;这里new代表新增的文件,del代表删除文件,+int代表该文件新增代码行数,-int代表该文件删除代码行数 文件数量; 平均文件大小; 最大文件; 哪个文件是修改最多次数的; 目录大小; 带有文件数量和代码行数的Repository tree。
2.3.2 优缺点分析
优点:StatSVN会把当前SVN库的状态用图片和图表的方式展现出来,可以按不同分类分别展开,功能强大。 缺点: 1. StatSVN统计的是所有代码行,包括注释和空行,但一般度量要求是有效代码行,在分析时需要注意这一点。 2. StatSVN不考虑修改的代码行数,只考虑与上一版本相比新增(+)与删除(-)的代码行数