最常用的方法,就是使用SVN提供的pre-commit钩子。
具体做法是,在对应的repository下的hooks文件夹下中,新建对于的pre-commit脚本,来禁止提交。
1.windows下pre-commit.bat
@echo off setlocal set REPOS=%1 set TXN=%2 rem 保证输入8个字符 svnlook log %REPOS% -t %TXN% | findstr "........" > nul if %errorlevel% gtr 0 goto :err_action rem 过滤空格字符 svnlook log %REPOS% -t %TXN% | findstr /ic:" " > nul if %errorlevel% gtr 0 goto :success :err_action echo 备注信息验证失败。 >&2 echo 提交代码时,必须填写备注信息。 >&2 echo 备注信息不少于8个字符(或4个汉字)。>&2 goto :err_exit :err_exit exit 1 :success exit 0
2.linux下pre-commit.sh
#!/bin/sh REPOS="$1" TXN="$2" SVNLOOK=/usr/local/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` #要求注释不能少于8个字符,您可自定义 if ["$LOGMSG" -lt 8]; then echo -e "\n备注信息验证失败。\n提交代码时,必须填写备注信息。\n备注信息不少于8个字符(或4个汉字)。" 1>&2 exit 1 fi exit 0