`

使用STATSVN统计代码开发情况入门

阅读更多

StatSVN能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;开发者最近所提交的;文件数量;平均文件大小;最大文件;哪个文件是修改最多次数的;目录大小;带有文件数量和代码行数的Repository tree。StatSVN当前版本能够生成一组包括表格与图表的静态HTML文档。StatSVN使用JFreeChart来生成chart。

STATSVN可以从:http://www.statsvn.org/index.html 下载。笔者使用了一段时间STATSVN,感觉其可以作为一个有力的开发统计工具,对开发情况进行统计,虽然在统计中还有一些小问题,但仍然值得使用,下面详述一下使用方法。

一 准备工作
StatSVN是一个Java写的开源统计程序,从STATCVS移值而来。其运行需要Java的运行环境支持,所以大家需要安装Java的运行环境。Java运行环境可以从Sun的网站上下载

StatSvn可以从StatSvn官网下载,目前版本是 0.3.1

Statsvn在使用中需要使用SVN的客户端,因此需要确保机器上可以访问到SVN的客户端命令

二 开始统计工作
1:从仓库中CheckOut一个需要统计的路径,如果在工作目录进行这项工作,那需要首先更新一下,保证取出的是最新版本,保证统计结果准确性,此工作也可用TSVN完成
2:生成工作拷贝的XML Log文件供Statsvn解析使用 在工作拷贝目录 使用 svn log -v --xml > logfile.log
3:调用StatSvn的统计分析工作 java -jar statsvn.jar ...()
参数如下
  <logfile>          path to the svn logfile of the module
  <directory>        path to the directory of the checked out module

Some options:
  -version           print the version information and exit
  -output-dir <dir>  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

下面以一个实例说明

以下任务的目标是每天自动完成更新的仓库的开发统计,把统计数据发布到指定的位置,这样其余人员可以通过Web服务器随时看到最新的统计情况

@ECHO ON
rem 调用格式 runstat 仓库路径 本地名称 发布目录
set repos=%1
set localname=%2
set target=%3
SET LOWER=0
SET UPPER=0
rem 检查一下仓库的最新版本,如果最新版本为0,说明没有内容不需要统计,直接跳出
@FOR /f %%D IN ('%SVN_LOOK% youngest %repos%') DO set UPPER=%%D
if %UPPER%==0 GOTO :N_EXIT
rem 如果子目录已经存在,认为工作拷贝已经存在,则直接更新,不进行检出工作
if exist .\%localname%\nul GOTO :UPDATE
rem 检出指定的仓库路径到本地名称为目录名的目录下
:CHECKOUT
mkdir .\%localname%
%SVN_SVN% co file:///%repos% .\%localname%
rem 取出上次Update的版本号和当前版本号进行比较,如果版本号较旧则进行更新,否则说明不需要更新,直接跳出
:UPDATE
if not exist .\%localname%\%localname%_last_revision.txt GOTO :BEGIN_UPDATE
rem 取出上次备份后的版本号,并做+1处理
@FOR /f %%C IN (.\%localname%\%localname%_last_revision.txt) DO @set LOWER=%%C
@set /a LOWER=%LOWER%+1
rem 不需要更新,则跳转结束
IF %LOWER% gtr %UPPER% GOTO :N_EXIT
rem 更新版本库并记录最新的版本号
:BEGIN_UPDATE
%SVN_SVN% update .\%localname%
@echo %UPPER% > .\%localname%\%localname%_last_revision.txt
rem 生成XMLLog文件,并调用Statsvn进行统计,本例中指定了需要统计的文件类型,并把结果输出到指定的目录,同时开50个线程进行查询,由于我是在本地统计,在网络上不推荐开50个线程。
cd %localname%
%SVN_SVN% log -v --xml > logfile.log
java -jar %STATSVN_JAR% -output-dir %target% -include **/*.cs;**/*.aspx;**/*.Master;**/*.config;**/*.sitemap -threads 50 logfile.log .
cd ..
rem 到这里统计文件已经生成,大家可以发指定的发布目录进行查看了。下面给大家两个截图看看
:N_EXIT
@echo 项目库%localname%处理结束...
@exit /B


 

分享到:
评论

相关推荐

    使用StatSVN统计Subversion库中的代码开发情况入门

    StatSVN能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;...笔者使用了一段时间STATSVN,感觉其可以作为一个有力的开发统计工具,对

    利用statsvn进行代码量统计

    利用statsvn进行代码量统计,详细描述了操作步骤及关键的指令,同时附上了jar包。

    statsvn.jar 统计代码

    使用方法: 进入新捡出的目录 svn log -v --xml &gt; logfile.log java -jar statsvn.jar -title wpabbs -username wp -password wp -output-dir e:/report -include **/*.java;**/*.jsp;**/*.js;**/*.css;**/*.c;**/*...

    统计SVN代码提交次数工具-statSVN

    统计SVN代码提交次数工具-statSVN /workspace 最新版本所在的目录  -include **/*.cpp:**/*.h 默认情况下statsvn统计指定目录下的所有文件,这个参数可以设置指定统计具体文件  -exclude xxx/** 表示不统计的内容...

    statsvn使用说明.zip

    使用statsvn统计代码量,帮助汇总代码行数,便于分析代码。具体使用请参看教程,便于管理

    使用StatSVN统计SVN版本库

    这样能大概地评估工作量、开发效率、趋势,帮助项目管理。使用它之前下载SVN的命令行客户端,以便能自动化任务。下面是StatSVN的快速上手手册。 * Expand the zip file into some directory, e.g c:\statsvn * ...

    svn代码量统计工具StatSVN的使用

    svn代码量统计工具StatSVN的使用

    statsvn代码量统计工具

    StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表。比如:代码行数的时间线;针对每个开发者的代码行数;开发者的活跃程度;...

    可视化svn统计脚本生成工具V1.0 (使用statsvn作为统计生成工具)

    此工具用于生成svn统计工具,使用statsvn.jar 功能列表: 可以设置账号密码 通过浏览选择文件 可以通过配置文件设置默认名字 CreateSvnStatBat.exe.config 里面 &lt;add key="DefautName" value="statsvn.bat" /&gt; ...

    statsvn0.7 修复图表乱码 SVN 代码统计

    0.7版本的代码统计生成html中文乱码可用其本身的命令参数解决 -charset gbk 主要是图表乱码 statsvn0.7采用的是jfreechart1.0.13所以乱码问题归结为jfree 由于jfree里字体默认为SansSerif(不支持中文显示),所以要...

    statsvn svn统计工具

    StatSVN是一个SVN版本库的静态分析工具,它能生成SVN log日志文件的html报表。这样能大概地评估工作量、开发效率、趋势,帮助项目管理。使用它之前下载SVN的命令行客户端,以便能自动化任务。

    statsvn & cloc代码统计工具

    NULL 博文链接:https://pengtyao.iteye.com/blog/1001815

    直接拿来使用无任何BUG-SVN的可视化日志统计工具StatSVN.rar

    为什么要用StatSVN统计工具? 程序员: 我想看看我对项目贡献了多少,比...StatSVN很好的统计工具,能帮你统计团队成员各自的编写量,代码总数,提交情况,文件数量等情况,并且以html网页图表的方式发布统计结果。

    statsvn0.7 中文版(UTF-8)

    statsvn0.7 中文版 SVN 代码统计

    statsvn0.7.1

    统计svn代码量专用软件,解决svn log: svn info: Invalid svn info xml; unable to find revision or url for问题。官网发布的0.7.0版本有缺陷,一直报版本不匹配问题。

    StatSvn工具介绍

    代码静态检查工具Statsvn功能使用方法的简单介绍

Global site tag (gtag.js) - Google Analytics