jasmine214--love

只有当你的内心总是充满快乐、美好的愿望和宁静时,你才能拥有强壮的体魄和明朗、快乐或者宁静的面容。
posts - 731, comments - 60, trackbacks - 0, articles - 0

svn 邮件通知及LOG处理

Posted on 2011-01-19 17:32 幻海蓝梦 阅读(669) 评论(0)  编辑  收藏 所属分类: Linux版本管理配置管理
*自动发邮件脚本
配置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

原文:http://blogold.chinaunix.net/u3/93926/showart_1874564.html

只有注册用户登录后才能发表评论。


网站导航: