如何用StatSVN统计SVN服务器某项目的代码量

StatSVN介绍

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

StatSVN下载

StartSVN官网地址为:http://www.statsvn.org/index.html

StartSVN的下载页面为:http://www.statsvn.org/downloads.html也可以下载本文的附件

现在官网上最新的版本为:statsvn-0.7.0

StatSVN使用

使用须知

StatSVN的运行需要Java的运行环境支持,所以大家需要安装Java的运行环境(Java Runtime Environment)。JRE可以从Sun的网站上下载。

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

Checkout工作拷贝

首先从SVN仓库中checkout一个需要统计的路径(如果在工作目录下进行统计,首先请更新,保证工作区中的版本是最新的版本,确保统计结果的准确性<最好在dos档下来,不然会有版本不符合>),例如我把我的某个路径下的工程checkout在我的电脑上的 D:\MyProjects 路径下。

生成svn log文件

首先通过命令行进入工作目录:D:\MyProjects ,再使用svn log -v --xml > logfile.log的命令,其中 logfile.log为log文件的名称,可以根据需要自行定义。这样就在工作拷贝的目录下生成一个名称为logfile.log的文件。

注:要在命令行中使用svn命令,在安装TortoiseSVN时必须选择安装commend组件,可以在cmd命令行里输入svn help测试一下该组件是否安装,如果未安装是无法使用svn log命令的。如果能够操作svn server的话也可以直接在服务器上生成svn log然后下载到本地来使用

调用StatSVN进行统计

首先我们把从官网上下载的statsvn-0.7.0.zip包解压缩到D:\statsvn-0.7.0目录下

通过命令行进入D:\statsvn-0.7.0目录

调用命令java -jar statsvn.jar --output--dirD:\MyProjects\123 D:\MyProjects\logfile.log D:\MyProjects,命令运行成功即完成了统计工作。

该命令的格式是java -jar statsvn.jar [options 123可以自己生成放的路径] <logfile> <checked-out-module>

参数<logfile>为前一步中生成的svn log文件,<checked-out-module>为checkout工作拷贝目录,注意两个参数都要列出正确的全路径,否则会提示错误如logfile.log找不到等等

Java代码

  1. <logfile>          path to the svn logfile of the module
  2. <directory>        path to the directory of the checked out module
<logfile>          path to the svn logfile of the module
<directory>        path to the directory of the checked out module

[options]为可选参数,该参数格式及用法如下:

Java代码

  1. Some options:
  2. -version            print the version information and exit
  3. -output-dir <dir>         directory where HTML suite will be saved
  4. -include <pattern>        include only files matching pattern, e.g. **/*.c;**/*.h
  5. -exclude <pattern>    exclude matching files, e.g. tests/**;docs/**
  6. -tags <regexp>        show matching tags in lines of code chart, e.g. version-.*
  7. -title <title>            Project title to be used in reports
  8. -viewvc <url>         integrate with ViewVC installation at <url>
  9. -trac <url>           integrate with Trac at <url>
  10. -bugzilla <url>           integrate with Bugzilla installation at <url>
  11. -username <svnusername> username to pass to svn
  12. -password <svnpassword> password to pass to svn
  13. -verbose            print extra progress information
  14. -xdoc                   optional switch output to xdoc
  15. -xml                    optional switch output to xml
  16. -threads <int>            how many threads for svn diff (default: 25)
  17. -concurrency-threshold <millisec> switch to concurrent svn diff if 1st call>threshol
  18. -dump               dump the Repository content on console
  19. -charset <charset>        specify the charset to use for html/xdoc
  20. -tags-dir <directory>     optional, specifies the director for tags (default ‘/tags/‘)
  21. Full options list: http://www.statsvn.org
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>
-trac <url>        	integrate with Trac 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
-xml                	optional switch output to xml
-threads <int>        	how many threads for svn diff (default: 25)
-concurrency-threshold <millisec> switch to concurrent svn diff if 1st call>threshol
-dump              	dump the Repository content on console
-charset <charset> 		specify the charset to use for html/xdoc
-tags-dir <directory> 	optional, specifies the director for tags (default ‘/tags/‘)
Full options list: http://www.statsvn.org

查看统计结果

上述命令运行成功后,可以看到在D:\MyProjects目录下生成一组包括表格与图表的静态HTML文档。可以用浏览器打开index.html查看统计结果。

示例图片:

StatSVN优缺点分析

优点

StatSVN会把当前SVN库的状态用图片和图表的方式展现出来,可以按不同分类分别展开,功能强大。

缺点

StatSVN统计的是所有代码行,包括注释和空行,但一般度量要求是有效代码行,在分析时需要注意这一点。

StatSVN不考虑修改的代码行数,只考虑与上一版本相比新增(+)与删除(-)的代码行数

时间: 2024-10-11 04:57:14

如何用StatSVN统计SVN服务器某项目的代码量的相关文章

用StatSVN统计svn项目中每人代码提交量

用StatSVN统计SVN服务器项目的代码量 下载并安装SVN统计工具StatSVN 1)下载地址:sourceforge.net/projects/statsvn/ 2)解压压缩包,到一个目录,如D:\statsvn 找一个svn上项目 check或update这个项目到D:\statsvn cmd下指定到D:\statsvn 这个目录 利用命令 svn co https://192.168.2.20/svn/DBToolKit/trunk 生成日志svn log -v --xml D:\st

解决Linux下Svn检出Windows SVN服务器上项目SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

在Linux上检出windows SVN服务器上项目时出现了SSL handshake failed: SSL error: Key usage violation in certificate has been detected.的错误. 最后通过从网上检索找到了一个答案: 可以同时解决掉在Ubuntu上和CentOS上检出失败的问题. 在Windows注册表中加入注册项: 32位机器: [HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Serv

mac下如何用Xcode从svn服务器Check Out出项目源代码

iOS开发下版本更新很快,本文就讲解一下如何用最新的Xcode版本(Version 6.2 (6C131e))来从我们的SVN服务器Check Out出项目的代码. 首先,找到Xcode中Source Control菜单项,选择Check Out... 输入项目在SVN服务器里的地址:(值得说明的是, 这里的url要写到要checkout的项目, 只填写svn根目录在下一步认证时会报错的.) 下一步就是输入我们代码仓库的一些信息以及个人身份的验证了,参数含义:Address-项目所在的SVN服务

使用statsvn统计svn中的代码量

StatSVN介绍 StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表.比如:代码行数的时间线:针对每个开发者的代码行数:开发者的活跃程度:开发者最近所提交的:文件数量:平均文件大小:最大文件:哪个文件是修改最多次数的:目录大小:带有文件数量和代码行数的Repository tree.StatSVN当前版本能够生成一组包括表格与图表的静态HTML文档. StatSVN下载 StartSVN官

SVN简介+搭建svn服务器客户端+项目发布与检出+冲突解决

SVN简介 在实际的项目开发之中一定不可能只用一个人完成项目,一定是多人开发进行的,那么如果是多人开发,就一定会造成修改冲突.(比喻一个message类,几个人改就会你覆盖我,我覆盖你).最初的版本控制工具使用CVS.这些工具都是在linux下发展起来的,后来移到windows下.但在实际中还是要在linux下操作部署.但是慢慢的发现在CVS进行项目管理的过程中会产生大量的历史无用文件.所以现在的开发在CVS之后都开始使用SVN了.使用版本控制工具可以有效地针对你的项目中的代码进行管理,以及冲突

使用IDEA subversion插件从SVN服务器上check out 代码

一,关闭原来IDEA项目 File--->Close Project 这时,就回到了IDEA启动界面. 二,check out from version control 选择 subversion,再点击 + 号 输入待check out 项目的目录地址,再点击 "check out",此时会让你选择:要将项目 checkout 到本地哪个目录下 当你选择了一个目录后,IDEA会给出 相应的 目录提示,如下:我想让 subversion 把项目 checkout 到 F盘book

如何查看整个项目工程代码量

对于申请双软认证,iso质量管理认证等,需要统计项目工程的代码量. 估计的话,也能大概估个数,但是不是很准,如何才能比较准确的评估出整个项目工程的代码量呢? 下面推荐一个爆款,可以根据自己设定要统计的项,来统计代码. SourceCounter 废话不多说,直接上图 结果出炉了 爽不爽!

SVN服务器 Linux 开机自动启动代码

  ~ ll /etc/rc.d/rc.local -rwxr-xr-x 1 root root 810 Oct  9 09:30 /etc/rc.d/rc.local   ~ cat /etc/rc.d/rc.local #!/bin/bash # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES # # It is highly advisable to create own systemd services or udev rules # to r

svn代码量统计工具

StatSVN介绍 StatSVN是一个Java写的开源代码统计程序,从statCVS移植而来,能够从Subversion版本库中取得信息,然后生成描述项目开发的各种表格和图表.比如:代码行数的时间线:针对每个开发者的代码行数:开发者的活跃程度:开发者最近所提交的:文件数量:平均文件大小:最大文件:哪个文件是修改最多次数的:目录大小:带有文件数量和代码行数的Repository tree.StatSVN当前版本能够生成一组包括表格与图表的静态HTML文档. StatSVN下载 StartSVN官