SVN有9种钩子
在当前仓库下面的hook目录,都会存在相应hook文件的模板,即那些以.tmpl为后缀的文件。在Unix/Linux下,删除tmpl的后缀才能起作用,而windows则需要将.tmpl改成.bat。 修改之后立即起效,无需重新启动svn服务。
工作中,最常用的是pre-commit和post-commit两种钩子,对应以下两种应用:
1、使用Pre-commit强制程序员提交的时候一定要写Log
2、使用Post-commit监控SVN,程序员提交代码后触发相应的检查脚本
实践
1、Pre-commit
#!/bin/sh
REPOS="$1"
TXN="$2"
LOGMSG=`svnlook log -t "$TXN" "$REPOS"|wc -c`
if [ $LOGMSG -lt 10 ]; then
echo $LOGMSG 1>&2
echo -e "\nLog message is too short" 1>&2
exit 1
fi
# All check