svn 邮件通知及LOG处理
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://liuyu.blog.51cto.com/183345/64058 |
*自动发邮件脚本
配置post-commit文件 //此文件在commit时会运用到这个脚本 # cd /svndata/test/hooks # cp post-commit.tmpl post-commit # vi post-commit 在末尾删除原来的,添加上以下参数 REPOS="$1" REV="$2" /usr/bin/svnnotify --repos-path "$1" --revision "$2" --to windy@xxx.com --handler "HTML::ColorDiff" --with-diff --smtp mail.xxx.com --subject-prefix '[Windy SVN]' //--to windy@xxx.com为要通知的邮件地址,我们一般会做个邮件组,这个组内包含了这个项目的所有人,--smtp mail.xxx.com为你的内部邮件服务器地址,必须使用域名,要内部DNS能够解析到,可能需要在内部DNS服务器上手动添加主机记录,[Windy SVN]必须有SVN字段,否则将收不到邮件,注重格式,此脚本有bugzilla和JIRA系统进行整合的参数。
# chmod a+x post-commit //添加可执行权限给post-commit
*可修改log脚本 配置pre-revprop-change文件 //此文件在show log中修改log时会运用到这个脚本,得到修改的权限,否则会报错DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent. At least one property change failed; repository is unchanged # cd /svnroot/test/hooks # cp pre-revprop-change.tmpl pre-revprop-change # vi pre-revprop-change 在末尾删除原来的,添加上以下参数 EPOS="$1" REV="$2" USER="$3" PROPNAME="$4" if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi exit 1 # chmod a+x pre-revprop-change //添加可执行权限给pre-revprop-change
*强制写log脚本 配置pre-commit文件 //此文件在用户每次更新库中都必须要求写log,此文以log最低5个字符为例 # cd /svnroot/test/hooks # cp pre-commit.tmpl pre-commit # vi pre-commit 在末尾删除原来的,添加上以下参数 REPOS="$1" TXN="$2" SVNLOOK=/usr/bin/svnlook # check that logmessage contains at least 5 alphanumeric characters LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` if [ "$LOGMSG" -lt 5 ]; then echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2 exit 1 fi //[ "$LOGMSG" -lt 5 ] -lt 5这个5是至少为5个字符,请注意。 # chmod a+x pre-commit //添加可执行权限给pre-commit 本文出自 “seven” 博客,请务必保留此出处http://liuyu.blog.51cto.com/183345/64058 本文出自 51CTO.COM技术博客 |



守住每一天
博客统计信息
热门文章
最新评论
友情链接


