当前位置: 首页 > 工具软件 > StatSvn > 使用案例 >

统计工具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不考虑修改的代码行数,只考虑与上一版本相比新增(+)与删除(-)的代码行数
 类似资料: