本文介绍了如何使用Java开发一个小工具,以统计指定时间段内SVN用户提交的代码行数、文件数量以及文档变化。通过`svn log`和`svn diff`命令结合,实现对SVN提交记录的分析,满足对人员工作量可视化的需要。下面简述下自己的开发思想。
一。核心是svn两个命令:
1.svn log -v -r 查看svn版本提交记录
2.svn diff -r 版本号:版本号 比较两个版本号之间的更改
二。思路如下:
1. 执行查看svn版本提交记录,加上时间段以及用户条件去执行,注意时间段是 yyyy-MM-dd格式
svn log - v -r {开始时间}:{结束时间} --search svn用户名 svn代码地址 --username svn用户名 --password svn用户密码 > 生成文件(例如本地 D://test.txt)
2.读取文件,把所有版本号存到一个map中
Map<Integer,Integer> map = new TreeMap<>();
String line = "";
BufferedReader bufffer = new BufferedReader(new FileReader(new File(生成文件)))
while((line = buf.readLine) != null){
if(line ,startsWith("r")){
//截取版本号
Integer version = Integer.value(line.substring(1.line.indexOf(" ")));
map.put(version,version);
}
//下面看个人需求,如果需要统计修改文件,判断方法整体同版本号
3.遍历map,把value设置成key-1,在执行svn两个版本之间比较的命令
svn diff -r value :key svn代码地址 --username svn用户名 --password svn用户密码 > 生成文件(例如本地 D://test.txt)
4.在通过读取文件进行判断,统计出两个版本修改的代码行数,然后大功告成
原文链接:https://blog.csdn.net/weixin_54137786/article/details/123105750