文档章节

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

huoyingdk
 huoyingdk
发布于 2013/02/04 00:00
字数 499
阅读 222
收藏 0
首先介绍一下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

© 著作权归作者所有

huoyingdk
粉丝 0
博文 3
码字总数 2965
作品 0
海淀
私信 提问
说一个hudson的subversion 插件的bug,该插件不能支持非英文的svn项目路径

这个插件的名称叫 hudson subversion plugin-in,是在给job提供svn源上使用的,这个bug具体表现就是,如果你用的svn项目路径里带了中文或者其它非英文的字符,且svn必须用账号密码才能访问,...

abcbuzhiming
2013/06/07
2.1K
2
Mac上,执行定时任务:launchctl

在Mac上定时执行任务 在Mac上,执行定时任务,有两种方式: 使用 沿袭Linux常用的命令 毕竟咱是在mac上开发,这里只讲的用法 1.首先需要编写plist文件 下图是我的一个很简单的任务plist文件:...

shede333
2015/06/24
0
2
集成SVN源码管理和Mantis缺陷跟踪

首先在TortoiseSVN里设置一下项目的属性,右键点击目录,属性,在subversion一栏里,加入这几个属性 bugtraq:label = issue bugtraq:url = http://%3cmantisserver%3e/mantis/view.php?id=%...

红薯
2010/04/11
3.4K
5
利用SVN的post-commit钩子实现多项目自动同步

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://qicheng0211.blog.51cto.com/3958621/1563159 svn的post-commit钩子脚本在...

mac_zhao
2015/06/19
0
0
SVN 配置自动更新WEB服务器

SVN 配置自动更新WEB服务器 最近有个小项目,需要用SVN来进行版本控制。 项目组的同僚有8个人,大家都在本地开发,然后提交到服务器——服务器就是其中一台机器。专门安排一个测试员来进行项...

真座山雕
2012/11/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

FPGA 设备 USB Platform Cable USB

lsusbFuture Technology Devices International, Ltd FT232H Single HS USB-UART/FIFO IC

MtrS
今天
4
0
lua web快速开发指南(6) - Cache、DB介绍

"数据库"与"缓存"的基本概念 数据库与缓存是服务端开发人员的必学知识点. 数据库 "数据库"是一种信息记录、存取的虚拟标记地点的集合统称. 比如现实生活中, 我们经常会用到文件柜、书桌等等数...

水果糖的小铺子
今天
6
0
Oracle分页查询语句的写法

Oracle分页查询语句的写法 Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,Oracle分页查询语句基本上可以按本文给出的格式来进行套用。   Oracle分...

康师傅
昨天
5
0
java并发图谱

1527
昨天
2
0
Mybatis之拦截器Interceptor

使用mybatis时用PageHelper进行分页,用到了PageInterceptor,借此了解下mybatis的interceptor。Mybatis的版本是3.4.6,MybatisHelper的版本是5.1.3。 1、PageInterceptor 先上一段代码,如下...

克虏伯
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部