增長鉤子的緣由是很多開發員提交修改的時候都不寫註釋,致使查看歷史時很費勁,也不太符合規範。有的公司要求每次提交修改時都寫上bug號或者任務描述,那麼如何在工具上防止開發員們不寫註釋呢?
那就是
利用svn的pre-commit鉤子可簡單實現此要求。
進入倉庫project/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! you must input more than 5 chars as comment!." 1>&2
exit 1
fi
保存,退出。
給pre-commit添加可執行權限:
chmod +x pre-commit
配置結束,能夠使用了。
當有人提交的時候若是不叫註釋,就會報上面的「
nLog message cann't be empty! you must input more than 5 chars as comment!.
」
可是啊,好多人的英文真是有的鄙視,我本身也是,那換成中文字符可行否
這時候須要看你的檢出方式來,若是你是採用svn的方式檢出即svn://。。。檢出的,那隻須要更改將上述的
echo -e "nLog message cann't be empty! you must input more than 5 chars as comment!." 1>&2
echo出的內容改爲中文就能夠了
但若是是http方式檢出,就須要作相應更改了,經過勤勞的手指,最後仍是找到解決方式了:
修改http配置文件
把apache的配置文件裏AddDefaultCharset UTF-8改成AddDefaultCharset zh_CN.UTF-8
重啓,搞定
附上解決問題的原地址:
http://www.subversion.org.cn/bbs/archiver/?tid-2411.html