在多个developer对同一模块的代码作开发修改,提交SVN 时如果不填写comment信息,很容易造成别的developer的困扰,但是SVN本身并不提供这种强制写log的功能,而是通过一系列的钩子程序(我们称为hook脚本),在提交之前(pre-commit),提交过程中(start-commit),提交之后(post-commit),调用预定的钩子程序来完成一些附加的功能
此时可以利用下面的脚本添加一个svn hook强制用户填写comment信息
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" |wc -c`
if [ "$LOGMSG" -lt 15 ];
then
echo "Log message can't be empty! you must input more than 15 chars as comment!." 1>&2
exit 1
fi
把上面script添加到对应的svn server 的hook目录pre-commit文件中去,并且保证该文件具有可执行权限755
效果如下:
然后根据提示输入相关的comment信息,再次提交则成功
最终结果