小半个月没有用svn了,自己对这个东西实在是不熟悉,无奈还是要硬着头皮去解决问题。这个礼拜又建了个新的版本库,今天看见大家提交了很多代码,但很大一部分人都没有写log信息,这个可不是什么好习惯。虽然最近大家都很忙,但每次抽个几分钟,把这次提交的原因简单说说还是比较好的,至少方便别的人查看历史信息呢。
于是就想修改一下pre-commit的钩子程序,在commit之前强制大家输入注释信息。网上有很多关于这方面的资料。有以下几种处理方法(Linux系统):
1.进入仓库/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl。 编辑pre-commit文件:
将:
$SVNLOOK log -t "$TXN" "$REPOS" | \
grep "[a-zA-Z0-9]" > /dev/null || exit 1
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
这三行注释掉(前面加#符号),
在此位置添加如下几行:
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符,您可自定义
then
echo -e "\nLog message cann't be empty