快速 统计SVN 代码 提交行数

背景:需要统计一段时间内上传到SVN服务器的代码行数,SVN没有自带功能,不过可以通过使用一个Java工具:satasvn.jar来快速完成统计

 前期准备:

1. 确认svn版本安装的时候提供了命令行功能:测试方法,进入cmd窗口,输入svn log,观察输出内容:

能够执行命令则OK,若不能,需要重新安装svn,且注意选择命令行模块:

快速 统计SVN 代码 提交行数_第1张图片

2. 安装JDK环境:测试方法,在cmd命令行窗口输入java -version查看输出:

快速 统计SVN 代码 提交行数_第2张图片

如果这里没有输出,则需要下载安装JDK

准备工作完成后,需要学习两个命令(并不是python,方便显示选择这个编辑框):

G:
cd G:\E
svn log -r {2017-11-8}:{2018-1-10} --xml -v > d:\svnlog\svn.log # 命令1
# -r 后面也可以直接写log号,如此便只统计指定log的内容

D:
cd D:\svnlog
java -jar statsvn.jar d:\svnlog\svn.log G:\E -output-dir D:\SVNLog\logs # 命令2
pause

对于命令1:

首先将文件夹定位到代码checkout到本地的首目录,然后执行svn log功能,-r表示read,后边的{}:{}表示log分部的日期,--xml是存储格式 -v则是生成日志 > 表示输出路径 后边接输出路径,这一套操作可以得到所有这个时间段内的提交内容的log信息,这里并不包含代码行数等详细信息,只是为下一步服务的一个中间文件

第一步生成的文件为:svn.log

命令2:

java -jar 运行jar程序; 第一个参数是要解析的log文件路径,第二个参数“G:\E”是上一个命令中统计的代码的路径,然后是指定输出文件的路径

这一步能够就上一个svn.log中生成的每个记录统计代码改动行数,生成统计结果

 

直接把上述的命令行写入到一个bat文件里,双击就能够快速执行统计,非常方便。

问题处理:

1. 注意是不是SVN的代码更改过路径,如果有过需要修改生成的中间文件:svn.log的内容,替换路径

2. 注意指定的路径是否正确

3. bat出错的时候最好输入命令行窗口中看反馈信息,比Bat窗口的提示信息更有价值一点

 

统计结果格式:

1批html文件,入口文件为index.html,打开后可以看到详细的改动信息,这里点击developers按钮可以看到每个参与者的改动数据,即完成了代码统计任务。

正在运行:

快速 统计SVN 代码 提交行数_第3张图片

index.html:

快速 统计SVN 代码 提交行数_第4张图片

Developers:

 

你可能感兴趣的:(工具学习)