Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465664
  • 博文数量: 122
  • 博客积分: 1403
  • 博客等级: 中尉
  • 技术积分: 1668
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-11 13:31
文章分类

全部博文(122)

文章存档

2018年(5)

2017年(12)

2014年(15)

2013年(33)

2012年(4)

2011年(53)

分类: 系统运维

2013-04-17 15:02:10

修改源上的钩子脚本
  1. cp /opt/svn_repos/qingdao/hooks/pre-commit.tmpl /opt/svn_repos/qingdao/hooks/pre-commit
  2. chmod +x /opt/svn_repos/qingdao/hooks/pre-commit
  3. vim /opt/svn_repos/qingdao/hooks/pre-commit
  4. REPOS="$1" ##库位置
  5. TXN="$2" ##版本
  6. SVNLOOK=/opt/subversion/bin/svnlook ##svnlook的位置
  7. SCMLIST="admin" ##允许删除的用记
  8. C_USER=`$SVNLOOK info -t $TXN $REPOS | sed -n "1p"` ##执行commit的用户
  9. if [ -z `echo $SCMLIST | grep $C_USER` ];then ## 如果commit的用户没在允许的里面
  10. echo `$SVNLOOK changed -t $TXN $REPOS` > /opt/svn_repos/qingdao/commit_log ##将操作写入日志
  11. if cat /opt/svn_repos/qingdao/commit_log|cut -d" " -f1|uniq -u|grep "^D";then ##如果日志开头包含D(D代表删除)
  12. echo "You do not have permisson to delete a file" > /dev/stderr ##提示错误
  13. rm -rf /opt/svn_repos/qingdao/commit_log ##删除文件
  14. exit 1 ##错误退出
  15. fi
  16. fi
  17. exit 0
阅读(1121) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~