您的位置:首页 > 其它

解决svn的一个小问题:添加注释钩子echo中文字符

2013-02-04 19:37 405 查看
首先介绍一下svn添加注释钩子的过程

增加钩子的原因是不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范。有的公司要求每次提交修改时都写上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本文出自 “Luffy的梦” 博客,请务必保留此出处http://huoyingdk.blog.51cto.com/3932829/1131867
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐