巴中热线

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 5749|回复: 0

[电脑网络] 用脚本统计svn提交明细方法 提交文件数 文件列表 提交库 提交人

[复制链接]
发表于 2016-11-10 17:38:06 | 显示全部楼层 |阅读模式

注册巴中热线论坛,交好友享优惠,衣食住行吃喝玩乐尽在 BZHOT.com

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
功能实现:
利用钩子脚本,统计svn提交人,提交库,提交文件列表
使用方法:

复制以下代码到你要统计的代码库下面的hooks \ post-commit 文件里,授权post-commit可执行,svn上传到统计库即可生效记录日志。
  1. #!/bin/sh

  2. #export LANG=en_US.UTF-8
  3. export LANG=zh_CN.UTF-8
  4. #export LANG=zh_CN.GBK

  5. REPOS="$1"
  6. REV="$2"

  7. svnlog_path=/var/www/svnconfig/svnlog

  8. echo "---KAISHI---" >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  9. echo "开始时间:" `date` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1

  10. #echo "提交目标:" $REPOS "提交版本:" $REV "提交用户:" `svnlook author -r $REV $REPOS` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  11. echo "提交用户:" `svnlook author -r $REV $REPOS` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  12. echo "更新目标:" $REPOS >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  13. echo "当前版本:" $REV >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  14. echo "上传备注:" `svnlook log $REPOS -r $REV` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1

  15. echo  >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  16. echo "增加文件:" `svnlook changed -r $REV $REPOS|grep -o 'A '|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  17. echo "修改文件:" `svnlook changed -r $REV $REPOS|grep -o 'U '|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  18. echo "删除文件:" `svnlook changed -r $REV $REPOS|grep -o 'D '|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  19. echo "文件列表:" `svnlook changed -r $REV $REPOS` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  20. #echo "A:" `svnlook changed -r $REV $REPOS|grep -o 'A '|wc -l` ",U:" `svnlook changed -r $REV $REPOS|grep -o 'U '|wc -l` ",D:" `svnlook changed -r $REV $REPOS|grep -o 'D '|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1

  21. echo >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  22. echo "有效加行:" `svnlook diff -r $REV $REPOS|grep -o ' +'|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  23. echo "有效减行:" `svnlook diff -r $REV $REPOS|grep -o ' -'|wc -l` >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  24. echo "修改明细:" `svnlook diff -r $REV $REPOS` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1

  25. echo "结束时间:" `date` >> $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  26. echo "---JIESHU---" >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
  27. echo >>  $svnlog_path/commit/$(date +\%Y-\%m-\%d).log 2>&1
复制代码
注:本方法在linux环境测试通过!有问题欢迎联系巴中热线BZHOT.com管理员!




上一篇:利用svn钩子脚本限制提交人写批注和提交文件的大小
下一篇:Ultraedit23.00.0.59中文正版下载破解激活方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

巴中热线 - 精彩推荐上一条 /1 下一条

快速回复 返回顶部 返回列表