Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1734631
  • 博文数量: 391
  • 博客积分: 8464
  • 博客等级: 中将
  • 技术积分: 4589
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-13 15:12
个人简介

狮子的雄心,骆驼的耐力,孩子的执著!

文章分类

全部博文(391)

文章存档

2023年(4)

2018年(9)

2017年(13)

2016年(18)

2014年(7)

2013年(29)

2012年(61)

2011年(49)

2010年(84)

2009年(95)

2008年(22)

分类: 项目管理

2011-05-16 14:38:29

http://my.oschina.net/myriads/blog/15665

StatSVN很好的统计工具,能帮你统计团队成员各自的编写量,代码总数,提交情况,文件数量等情况,并且以html网页图表的方式发布统计结果。

 StatSVN的主页: 

它是一个2M多的JAR文件,是SVN的统计工具,统计结果以HTML格式保存。所以,如果要发布结果供团队成员浏览,需要一台服务器(或PC,貌似是废话...),安装网页服务器(apache2等),需要JVAV环境,至少安装有SVN客户端,以便取得SVN服务器上的最新版本。apache2,java,svn的安装这里不做详细介绍(网上资料比较齐全)。

使用方法

下载statsvn.jar

用SVN客户端取得SVN服务器上的最新版本代码,比如Linux上的命令如下:

1 #check out 最新版本
svn co

生成新版本的log日志:

1 #生成项目SVN日志
svn log -v --xml > 日志名XXX.log

在存放统计结果HTML的目录中,执行statsvn.jar,一个简单的例子:

1 #简单例子
java -jar ../statsvn.jar ../nova/日志名XXX.log ../nova  -charset utf-8 -disable-twitter-button -title Nova  -include **/*.cpp:**/*.h -exclude **/sqlite3/*.*

java -jar ../statsvn.jar               执行statsvn.jar,后面是它的参数

参数1:../nova/日志名XXX.log                调用上面生成的SVN日志

参数2:../nova             最新版本所在的目录

参数3:-charset utf-8         生成的HTML所用的字符集

参数4:-disable-twitter-button            关闭twitter连接,可能statsvn的开发者是一个twitter爱好者,statsvn默认在项目和开发人员的名字后加个twitter连接按钮,方便互动。这在中国行不通,大家都懂的...所以让twitter连接按钮不显示。

参数5:-title 标题名             这个设置在HTML页面中显示的项目标题

参数6:-include **/*.cpp:**/*.h        表示统计的文件类型,默认情况下statsvn统计指定目录下的所有文件(包括一些开发环境自动生成的文件等,这个参数可以设置指定统计具体文件,例子中的表示只统计项目目录下得CPP与H文件。

参数7:-exclude **/sqlite3/*.*         表示不统计的内容,例子中的参数表示不统计项目文件夹中sqlite3的内容(因为sqlite3的内容是调用别人写的程序,统计进去没有意义~)

这就是statsvn最常用的几个参数,其他更详细参数可以参考官方网站的介绍。

扩展使用方法

由于StatSVN是静态的,需要执行一次才能查看新的结果,但是我们可以让他在系统中定时执行,比如每天晚上2:00执行一次,那么第二天就可以看到昨晚为止的所有统计情况。

以linux系统为例

我们可以把上述取得新版本,生成日志,生成统计的过程写成sh文件,并命名为"任务名.sh"

1 #!/bin/sh
2 cd ~
3 cd statsvn
4 svn co --username=test --password=testtest nova/ 
#svn co nova
5 cd nova
6 svn log -v --xml --username=test --password=testtest > nova.log
#svn log -v --xml > nova.log
#svn log -v --xml -r {2010-12-01}:{2011-01-01} > nova.log
7 cd ..
8 cd novalog
9 java -jar ../statsvn.jar ../nova/svn.log ../nova  -charset utf-8 -disable-twitter-button -title Nova  -include **/*.cpp:**/*.h -exclude **/sqlite3/*.*

然后用crontab定时任务工具对这个sh进行定时执行(crontab的设置方法可以参考网上)

1 o@O:~$ crontab -l
2 # m h  dom mon dow   command
3 0 2 * * * /home/o/statsvn/任务名.sh
4 o@O:~$

把生成的html结果所在的目录软连接到apache的根目录(比如"www"文件夹下)就可以用过网页访问了。

阅读(2551) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~