*自动发邮件脚本
# cd /svndata/test/hooks
# cp post-commit.tmpl post-commit
# vi post-commit
在末尾删除原来的,添加上以下参数
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]'
*可修改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
在末尾删除原来的,添加上以下参数
REV="$2"
USER="$3"
PROPNAME="$4"
if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi
exit 1
*强制写log脚本
配置pre-commit文件 //此文件在用户每次更新库中都必须要求写log,此文以log最低5个字符为例
# cd /svnroot/test/hooks
# cp pre-commit.tmpl pre-commit
# vi pre-commit
在末尾删除原来的,添加上以下参数
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
# chmod a+x pre-commit //添加可执行权限给pre-commit