This site uses cookies to deliver our services. By using this site, you acknowledge that you have read and understand our Cookie and Privacy policy. Your use of Kontext website is subject to this policy. Allow Cookies and Dismiss

【教程】StatSVN + Subversion 实现强大的项目代码统计功能

1323 views 0 comments last modified about 8 years ago Raymond Tang

In this page

一,简介

代码统计在项目管理中经常运用,这样可以在一定程度上通过量来考核项目成员的绩效,同时广义上的统计则可以方便项目各种指标的追踪统计分析等。而StatSVN则是一款强大的工具,它可以基于SVN对以下数据进行统计:

1)程序员工作量统计

2)SVN提交日志统计

3)代码行

4)文件统计

5)文件夹大小统计

6)代码提交Tag云

等等方面进行统计,统计结果以表格和图表的方式进行。

这个工具的官方主页:http://statsvn.org/,而SVN相关工具可以从我之前的文章中的链接下载:http://hi.baidu.com/1987raymond/blog/item/d668ce1f7dc61f6ef724e468.html

本文主要举例阐述StatSVN的使用方法,但并完全叙述其所有内容,详细内容,请参看官方使用手册:http://wiki.statsvn.org/User%20Manual.ashx。这个工具使用Java编写,你需要确认的电脑上安装了Java1.4.x或者以上版本,可以在cmd.exe中运行 java -version 确定,以下是我本机的情况:

java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

二,准备测试SVN版本库和代码

我在本机的Visual SVN Server上创建测试版本库STATSVN_TEST,并且创建两个测试账户TestUserA以及TestUserB。


将SVN迁出到E:\Apps下:


用这两个账号在Trunk下创建一个测试项目并且进行几次代码签入更改等操作。


最终的版本如下:


三,准备STATSVN执行的批处理文本

针对本文的例子,我写了一个批处理文件STATSVN_TEST.bat:

echo begin generating stat
echo ---------------------

cd /d "E:\Apps\STATSVN_TEST"
svn log --xml -v > svn.log

cd /d E:\Raymond\statsvn-0.7.0

java -jar statsvn.jar -disable-twitter-button -include

"**/*.cs;**/*.aspx;**/*.js;" -exclude

"**/Bin/**;**/*.dll;" -output-dir "E:\Raymond\statsvn-

0.7.0\Result\STATSVN_TEST
"

"E:\Apps\STATSVN_TEST\svn.log" "E:\Apps\STATSVN_TEST"

echo ---------------------

echo generating stat succeed
pause

E:\Raymond\statsvn-0.7.0\Result\STATSVN_TEST\index.html
exit

请注意以上红色标注的内容:

"E:\Apps\STATSVN_TEST"是SVN签出的地址;E:\Raymond\statsvn-0.7.0 是我的statsvn工具的文件statsvn.jar所在地址; -include参数指需要统计的文件的类型,**表示0/多个文件夹,*表示0/多个字符,?代表单一字符,路径以;隔开;-exclude参数指不包含的,与include一致,只不过设置了include后就不用再设置exclude参数了;-output-dir 参数指输出结果的路径,statsvn将生成很多的文件包括统计的图片、html文档等等;"E:\Apps\STATSVN_TEST\svn.log" "E:\Apps\STATSVN_TEST"分别是SVN生成的日志的路径以及SVN签出的地址; E:\Raymond\statsvn-0.7.0\Result\STATSVN_TEST\index.html是生成的结果的首页文件。

四,运行结果

点击运行刚刚建立的批处理文件,程序开始运行:



最终会打开程序运行结果的首页:


Developers链接,按照程序员展示其代码统计等信息:




Commit Logs 链接:




Lines of Code链接:


File Sizes and File Counts


Directory Sizes


Repo Heatmap


LOC and Churn



还有其他的一些统计页面,这里不再叙述,可以参看自己的测试结果。

本文为原创文章,如需转载,请注明转载地址,谢谢。

Related pages

Surface RT/Pro 版本Windows 8 QQ下载与安装

2518 views   0 comments last modified about 5 years ago

Surface的用户可能会遇到一个难题,在应用商城里边无法搜索到QQ应用程序。但是让我疑惑的是,我的Windows 8.1 系统之前是成功安装了QQ。

后来在腾讯QQ下载官网发现,其实是有QQ应用安装的链接:

按照如下方法安装Surface QQ.

Have fun!

image

View detail

my first begining with Windows 7

101 views   0 comments last modified about 9 years ago

Maybe it is a little late now due to busy work,anyhow,it is better to do lately than never to do.

View detail

[教程]在Windows Phone 程序中使用LINQ to XML以及执行数据绑定

260 views   0 comments last modified about 7 years ago


LINQ是Language Integrated Query的简写,中文名称是语言集成查询,它是一组技术的组合,包括LINQ to DataSet(typed 以及untyped),LINQ to SQL(适用于SQL Server数据库),LINQ to XML(包括内存中以及XML文件中的数据),LINQ to Object,LINQ to Entities(结合Entity Framework使用)等。这些技术建立在将查询功能直接集成到 C# 语言(以及 Visual Basic 和可能的任何其他 .NET 语言)的基础上。借助于 LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。具体参考MSDN文档介绍View detail

SVN 中文子目录权限失效的解决方案

241 views   0 comments last modified about 9 years ago

svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
对于authz文件应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8?可以使用UltraEdit编辑器存储的时候把格式选择“UTF-8 无BOM”;

View detail

LINQ to SQL in Windows Phone 7 Error: An overflow occurred while converting to datetime.

454 views   0 comments last modified about 7 years ago

Resolve the issue in Linq to SQL in Windows Phone 7 App:
An overflow occurred while converting to datetime.

View detail

Add comment

Please login first to add comments.  Log in New user?  Register

Comments (0)

No comments yet.