bat脚本:SVN日志分类

  在java软件开发中,通常会用svn管理项目代码,等到系统上线的时候,从项目开始到目前为止,需要从三个维度看我们改了哪些代码:

  1、都改了哪些代码,我需要一个汇总

  2、哪些模块(工程)改了哪些代码,每个模块的汇总

  3、哪些人修改了哪些代码,每个人的汇总

  如果你也需要从这三个维度来分析,你可以用用我的这个脚本。

  首先,我提供的是bat脚本,需要先下载一个svn命令客户端工具:Apache Subversion command line tools,请前往:https://www.visualsvn.com/downloads/

  下载下来的是一个压缩包,我解压到D:\Apache-Subversion-1.9.5\,系统环境变量Path追加D:\Apache-Subversion-1.9.5\bin,进入cmd模式,输入svn help,没有错误证明你的环境变量配置好了。

  上脚本!脚本名:svn_log_export.bat。注意配置:开始时间和结束时间

@echo off

::开始时间
set sdate=2017-06-01T00:00:00
::结束时间
set edate=2017-12-30T23:59:59

set pwd=%cd%

::遍历配置文件
::逗号分隔,第1列为日志汇总文件名,第2列为svn目录,第3列为日志输出到的目录
for /f "delims=, tokens=1,2,3" %%a in (svn_log_export.list) do (
::1、日志输出目录不存在创建,删除已导出日志
	if not exist %%c (
		md %%c
	)

	del %%c\*.log
	
::2、当前目录日志导出
	cd %%b

	echo begin export...
	echo under %%b
	
	svn log -v -r{%sdate%}:{%edate%} > %%c\%%a
	
::3、子目录日志导出
	for /d %%i in (*) do (
		cd %%b\%%i
		if "%%b\%%i" == "%%c" (
			echo %%b\%%i not exported.
		) else (
			svn log -v -r{%sdate%}:{%edate%} > %%c\%%i.log
			echo %%i exported.
		)
	)

::4、当前目录分用户导出
	cd %%b
	
	svn log -r{%sdate%}:{%edate%} > tmp.txt
	
	for /f "delims=| tokens=2" %%a in (tmp.txt) do (
		echo %%a >> tmp2.txt
	)
	
	for /f %%j in (tmp2.txt) do (
		if not exist %%c\user-%%j.log (
			svn log -v -r{%sdate%}:{%edate%} --search %%j > %%c\user-%%j.log
			echo user:%%j exported.
		)
	)
	
	del tmp.txt
	del tmp2.txt
	
	echo completed.
)

cd %pwd%

  某一个java系统:java_system,分了2子个工程:java_project1、java_project2,上传到svn目录:http://xxx.xxx.xxx.xxx/svn/java_system/branches/v1.0.9。

  我们用svn命令将它checkout到本地目录:E:\SvnDir,命令为:svn checkout http://xxx.xxx.xxx.xxx/svn/java_system/branches/v1.0.9。

  上个配置文件,与svn_log_export.bat脚本同级目录,名称为:svn_log_export.list,具体配置如下:

detail.log,E:\SvnDir\v1.0.9,E:\SvnDir\v1.0.9\svnlog
 用逗号分隔,第1列为所有模块汇总日志文件名,第2列为checkout到本地的目录,第3列为汇总日志输出到的本地目录,上面脚本生成的日志将生成在这个下面。

  双击执行svn_log_export.bat,输出日志在目录:svnlog


  detail.log包含java_project1和java_project2所有的svn日志,java_project1.log和java_project2.log分别是工程的svn日志,user-bogege.log是用户:bogege的svn日志。



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值