一、前提条件
1.确保机器上装有java运行环境,jdk1.4及以上,以下是java1.6的官方下载地址。
http://www.java.net/download/jdk6/6u10/promoted/b32/binaries/jdk-6u10-rc2-bin-b32-windows-i586-p-12_sep_2008.exe2
2.确保机器上装有svn客户端。
3.下载了statsvn。下载地址:http://www.statsvn.org/index.html
(http://cdnetworks-kr-1.dl.sourceforge.net/project/statsvn/statsvn/0.7.0/statsvn-0.7.0.zip)目前最新版本为0.7.0。下载后放到d:/statsvn-0.7.0下。(可随便放)
二、统计
1、checkout一个工作拷贝到目标位置(如:d:/test下)
2. 生成Log文件
生成工作拷贝的XML Log文件供Statsvn解析使用:首先通过运行命令行进入工作拷贝目录d:/test,再使用svn log -v --xml > statsvn.log的命令,其中 statsvn.log为log文件的名称,可以根据需要自行定义。这样就在工作拷贝的目录下生成一个名称为statsvn.log的文件。
3.调用StatSVN进行统计
调用StatSvn的统计分析工作: 首先通过运行命令行进入java的bin目录,(如果设置了环境变量,则不需要这一步。)
再调用命令java -jar d:/statsvn-0.7.0 d:/test/statsvn.log d:/test,命令运行成功即完成了统计工作。
该命令的格式是java -jar statsvn.jar [options] <logfile> <checked-out-module> ,
其中参数<logfile>为生成的log文件的路径,<checked-out-module>为工作拷贝路径,注意两个参数都要列出正确的全路径,否则会提示错误。[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
到此命令执行完毕,到目标位置查看生成的文件即可,如果没有指定生成文件的路径,则默认为在哪个目录下执行,存放在哪个目录下。