`

使用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


 

分享到:
评论

相关推荐

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

    StatSVN是一款强大的开源工具,专门用于统计Subversion(简称svn)版本控制系统中的代码变化情况。它能够生成详细的报告,包括代码添加、删除、修改的次数,开发者贡献度,以及代码质量相关的各种指标,这对于项目...

    利用statsvn进行代码量统计

    - **定义**: Statsvn是一款基于Subversion(简称SVN)的日志分析工具,它能够通过对SVN日志的分析来统计代码提交的情况。该工具特别适用于项目管理者和团队领导者,帮助他们了解团队成员的工作进度与贡献度。 #### ...

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

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

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

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

    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;**/*...

    使用StatSVN统计SVN版本库

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

    statsvn使用说明.zip

    StatsVN 是一款开源的代码统计工具,专门用于分析版本控制系统(如SVN或Git)中的源代码。它可以帮助开发者和项目经理快速了解项目的工作量、代码复杂性和演变情况,从而做出更明智的决策。通过生成丰富的图表和报告...

    statsvn代码量统计工具

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

    statsvn & cloc代码统计工具

    statsvn是一款基于SVN(Subversion)的代码统计工具,它可以分析SVN仓库的历史数据,生成详细的代码提交、修改和删除情况报告。statsvn的特点在于,它不仅统计代码行数,还能提供每个作者的贡献度、每个文件的修改...

    可视化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使用

    它可以帮助开发者和项目管理者了解代码库的使用情况、团队成员的贡献度以及项目的健康状况。通过分析提交历史、作者、文件修改频率等数据,Statsvn提供了一种直观的方式来评估项目的发展趋势。 ### 安装Statsvn 1....

    statsvn svn统计工具

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

    statsvn0.7.1.rar

    StatsVN是一款开源的统计分析工具,专门针对Subversion版本控制系统设计,用于收集、分析和报告Subversion仓库的使用情况。它为开发者和项目管理者提供了丰富的数据,帮助他们更好地理解和优化代码管理流程。在0.7.1...

    statsvn-0.7.0.1.zip

    《SVN代码统计工具——Statsvn 0.7.0.1详解》 在软件开发过程中,代码管理是一项至关重要的任务,而Subversion(简称SVN)作为一款广泛应用的版本控制系统,为团队协作提供了强大的支持。为了更好地理解和评估项目...

Global site tag (gtag.js) - Google Analytics