Linux 下svn提交不允许空日志配置方法

1. 在hooks目录里,复制文件pre-commit.tmpl到pre-commit
2. 修改pre-commit文件,找到下面两行代码注释掉

"$REPOS"/hooks/commit-access-control.pl "$REPOS" $TXN
"$REPOS"/hooks/commit-access-control.cfg

3. 在set -e这行的下面添加一段

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 10 ];
then
echo -e "Log message cann't be empty! you must input more than 10 chars as comment!." 1>&2
exit 1
fi

因为只要退出时返回值不为0,SVN服务器就认为检查失败,将不进行下一步操作,这里直接返回了1,也可以是其它值。在这里检测日志信息是否小于10个字符,小于六个字符则报错,给出提示。

4. 执行命令,给该事件脚添加执行权限

# chmod +x pre-commit