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的client,因此须要确保机器上能够訪问到SVN的client命令

Checkout工作拷贝

首先从SVN仓库中checkout一个须要统计的路径(假设在工作文件夹下进行统计。首先请更新。保证工作区中的版本号是最新的版本号。确保统计结果的准确性),比如我把我的某个路径下的工程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 D:\MyProjects\logfile.log D:\MyProjects,命令执行成功即完毕了统计工作。

该命令的格式是java -jar statsvn.jar [options] <logfile> <checked-out-module>

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

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

[options]为可选參数,该參数格式及使用方法例如以下:

  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

1. 先导出svn log

svn log -v --xml -rStartrevision:Endrevision > svn.log local_project
   当中Startrevision和Endrevision用来导出一个revision段的svn日志.local_project是svn上的project checkout到本地的结果.

2. 通过statsvn工具做分析
  java -jar statsvn.jar svn.log local_project
  执行完毕后,就会在$PWD(unix下)或者%CD%(windows下)下生成相应的分析文件,在index.html文件里就有代码量统计.

#!/bin/bashsvn_dir='/home/homer/work/code_svn/weiguan'
statsvn_dir='/home/homer/work/tool-server/statsvn-0.7.0/statsvn.jar'log_dir=svnstat
log_file="$log_dir/svnstat.log"
log_day="$log_dir/2014-01-01_00:00:00"version_start=4150
version_end=4159function statsvn() {cd $svn_dirsvn upif [ ! -d $log_dir ];thenmkdir $log_dirfidate=$(date "+%Y-%m-%d_%H:%M:%S")echo "$date"lines=`find . -name *.java | xargs wc -l | sort -n`echo "total code lines : $lines"version_end=`svn log -l1 | sed -n 2p | awk '{print $1}' | cut -d "r" -f2`echo "version_start : $version_start; version_end : $version_end"svn log -v --xml -r$version_start:$version_end > $log_filelog_day="$log_dir/$date"java -jar $statsvn_dir $log_file . -output-dir $log_day > /dev/null 2>&1google-chrome $log_day/index.html &
}statsvn

參考推荐:

statsvn统计svn中的代码量

统计svn上代码量的方法--使用statsvn工具

统计分析svn用户每天提交的代码数

一个基于SVN 的代码提交量统计工具

StatSVN

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/hrhguanli/p/4624239.html

svn代码统计工具的金额相关推荐

  1. SVN代码统计工具statsvn

    http://pengtyao.iteye.com/blog/1001815 StatSVN简单使用说明 本文参考网上一些资料以及StatSVN官方手册编写 目录 StatSVN简单使用说明...1 ...

  2. SVN代码统计工具——statsvn

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

  3. cloc JAVA文件_代码统计工具CLOC的使用方法

    原标题:代码统计工具CLOC的使用方法 在处理不同的项目时,有时您可能需要提供进度报告或统计信息,或者只是计算代码的价值. 有一个简单但功能强大的工具叫做" cloc - count lin ...

  4. Python代码统计工具

    目录 Python代码统计工具 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python代码统计工具 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一 ...

  5. 代码统计工具1.1版本技术文档

    代码统计工具1.1版本技术文档 说明:主要记录自己在做这个项目的过程中用到的方法和相关技术 1.首先面临的问题就是怎样选择一个目录,网上搜索了一下,下面是解决方案(用到目录对话框) (1)从默认的磁盘 ...

  6. 统计gitlab代码行脚本_详解代码统计工具cloc--计算文件数、空白行数、注释行和代码行...

    概述 Cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用.多语言识别,能够计算指定目标文件或文件夹中的文件数(files).空白行数(blank).注释行数(comment)和代码行 ...

  7. pythonc代码_Python实现C代码统计工具(一)

    Python实现C代码统计工具(一) 标签: Python 代码统计 声明 本文将基于Python2.7脚本语言,实现一个简易的C代码统计工具. 本文同时也发布于作业部落,视觉效果略有不同. 一. 问 ...

  8. python 代码行数统计工具_使用Python设计一个代码统计工具

    问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数.尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如: # type用于指定文件类型 pytho ...

  9. 统计结合python_python 练习(一)代码统计工具的实现

    最近部门成立了一个python学习小组,旨在让大家在做项目中开始成长起来,于是老大就给布置了第一个小任务:代码统计工具,具体的需求如下: 需求:1. 能够统计指定目录下C++程序的代码行数.2. C+ ...

最新文章

  1. LCA ---- E. Tree Queries[LCA或者dfs序的解法]
  2. 设置EditText光标颜色
  3. PHP支付宝接口RSA验证
  4. 基于Matlab的标记分水岭分割算法(imreconstruct)
  5. Python 打印不换行
  6. type=InnoDB ENGINE=InnoDB
  7. Java爬取校内论坛新帖
  8. 用cloud-zoom做一个仿淘宝的宝贝放大镜查看功能
  9. 【转载】自动化测试:为什么受伤的总是我?
  10. 工业项目实施-URS(用户需求说明)
  11. win7剪切板_Win7系统打开剪切板windows找不到clipbrd.exe文件如何解决?
  12. 最简单的STM32入门教程----闪烁LED
  13. 招银网络-信息科技风险管理工程师-笔试-安全
  14. python re模块下载_python re模块
  15. css中标准盒模型和怪异盒模型的区别,如何将标准盒模型转换为怪异盒模型
  16. 新手如何发网站外链,网站的外链如何发,发外链的方法集合
  17. LigerUI初学篇---使用LigerUI制作简洁清爽的界面
  18. openvswitch 中的conjunction
  19. 国内有名的汽车与交通调查研究咨询公司情况
  20. mysql怎么批量导入excel数据_phpmyadmin怎么批量导入excel数据到mysql

热门文章

  1. asterisk srtp
  2. 解锁三星bl锁有几种方法_三星新手机解锁工具-三星A3/A5/A7/S6/S6 edge等新机型解锁BL工具(crom 服务)下载-西西软件下载...
  3. 人工智能导论——机器学习
  4. OBR自动化管理插件:maven-bundle-plugin使用
  5. 如何使用C#复制或移动Excel工作表?试试Aspose
  6. 利用代理IP组建代理IP池
  7. 数据分析常用的四大战略分析工具
  8. 互联网+的新零售微信商城
  9. Vue(三)——数据绑定
  10. lecture2 Intermediate Representation-笔记