利用svn的pre-commit鉤子可簡單實現此要求。
進入倉庫project1/hooks目錄,找到pre-commit.tmpl文件,重命名,去掉後綴.tmpl。svn
#cd /svn/project1/hooksspa
#mv pre-commit.tmpl pre-commitinput
#vi pre-commit
編輯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! you must input more than 5 chars as comment!." 1>&2
exit 1
fi
保存,退出。
給pre-commit添加可執行權限:
chmod +x pre-commit
這裏記得修改 $SVNLOOK=(svnlook的路徑,/csvn的安裝目錄/bin/svnlook)
配置結束,可使用了。it