`
zhangchibang
  • 浏览: 346179 次
社区版块
存档分类
最新评论

svn强制要求提交注释--pre-commit钩子

    博客分类:
  • SVN
阅读更多
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范。有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢?

  利用svn的pre-commit钩子可简单实现此要求。

进入仓库project1/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

配置结束,可以使用了。
分享到:
评论
1 楼 亚当爱上java 2011-09-06  
"给pre-commit添加可执行权限:
chmod +x pre-commit ",怎么给添加可执行权限呀,具体操作步骤是什么?网上也没有说明。。晕。。。

相关推荐

    svn hook pre-commit禁止删除文件和强制添加注释

    ### SVN Hook预提交(pre-commit)控制机制:禁止删除文件与强制添加注释 #### 一、SVN(Subversion)简介 SVN 是一个集中式的版本控制系统,它可以帮助团队管理和跟踪项目的开发过程。通过SVN,开发人员可以保存...

    windows下svn的pre-commit钩子

    用法:将本bat文件(不可改名)存在svn服务器端安装目录\仓库名\hooks下(该目录下有多个*.tmpl文件,包括pre-commit.tmpl即linux下的提交钩子,而pre-commit.bat为windows下的提交钩子),并修改文件中相应目录(共...

    svn提交强制输入注释信息

    svn提交强制输入注释信息的原理是通过修改pre-commit钩子脚本来实现的。在提交过程中,钩子脚本会检查提交信息是否符合要求(例如是否含有足够的字符数)。如果不符合要求,钩子脚本就会阻止提交,并给出提示信息。 ...

    关于SVN提交强制加入注释(服服务端配置)

    SVN的强制提交注释功能通常通过服务器端的预提交(pre-commit)钩子脚本来实现。这个脚本在每次提交前运行,检查提交信息是否符合设定的规则。 2. **找到钩子脚本** 在SVN服务器的hooks目录下,找到`pre-commit`...

    svn强制添加注释脚本

    标题中的“svn强制添加注释脚本”指的是在使用Subversion(SVN)版本控制系统时,为了确保提交的代码质量,通常会设置一个预提交钩子(pre-commit hook),这个钩子会在用户提交代码前执行,强制要求提交时必须附带...

    SVN禁止删除和强制注释操作的钩子脚本

    在本案例中,我们需要创建一个预提交(pre-commit)钩子脚本来实现两个功能:禁止除特定用户外的所有人删除文件,并且强制所有提交必须包含至少10个字符的注释。 首先,我们来理解一下这个`pre-commit.bat`钩子脚本...

    SVN提交时强制添加注释

    2. **启用`pre-commit`钩子脚本**:在`svnserve.conf`中,取消对`enable-pre-commit-hook`行的注释(去掉前面的`#`),这将允许SVN服务器执行预提交钩子脚本。 3. **创建`pre-commit`钩子脚本**:在SVN仓库的`hooks...

    svn命令行修改已提交的版本备注

    首先,我们要明白在SVN中,每次提交都会伴随着一个描述性的注释,即版本备注,它用于记录这次提交做了哪些改动。默认情况下,一旦提交,SVN并不允许直接修改这些历史备注,但通过一些特殊操作,我们能够实现这一功能...

    SVN强制日志、日志重新编辑可配置细节

    通过编写一个简单的批处理文件(如`pre-commit.bat`),可以强制要求用户在提交时提供非空且有意义的日志。如果用户未提供合适的日志,脚本将阻止提交并返回错误信息。 3. **日志重新编辑**: 通常,一旦提交,SVN...

    SVN限制删除和强制添加注释的hook脚本

    本篇将详细讲解如何利用SVN的Hook脚本来限制用户删除文件,并强制他们在提交时添加注释。 首先,我们关注的是`pre-commit`钩子,这是一个在提交发生之前运行的脚本。在Windows环境中,通常将`pre-commit.tmpl`模板...

    svn强制注释for linux和Windows

     利用svn的pre-commit钩子可简单实现此要求。 进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl。 编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2) 1、Linux系统...

    Svbversion必须写注释的脚本(win)

    标题"Subversion必须写注释的脚本(win)"指的是在Windows环境下,为了确保每次提交都有有意义的注释,我们需要创建一个`pre-commit`钩子。这个钩子是一个批处理脚本(`.bat`文件),它会在提交操作执行前检查注释...

    JIRA集成SVN配置说明

    2. **配置hooks**:在SVN库的hooks目录下,设置pre-commit钩子脚本,用于执行代码提交前的检查,如验证提交注释是否符合规范。 #### 六、SVN客户端操作规范 1. **提交注释规范**:要求所有代码提交必须包含清晰的...

    SVN学习笔记

    - 使用`svn commit`命令将更改提交到版本库,例如:`svn commit -m "commit message" E:\\project`,其中`-m`后跟的是提交注释。 4. **查看日志(Log)** - 使用`svn log`命令查看提交日志,例如:`svn log E:\\...

    SVN限制message字符个数及格式的实例

    首先,我们需要创建一个名为`pre-commit`的钩子脚本,它会在每次提交之前执行。这个脚本通常位于SVN服务器的仓库目录下的`hooks`子目录中。`pre-commit`脚本允许我们执行自定义的验证规则,比如检查提交信息是否符合...

    TortoiseSVN-1.6.12中文文档

    - 常见的钩子脚本包括pre-commit、post-commit等。 **3.4 检出链接** - 用户可以通过检出链接快速访问特定版本库的位置。 **3.5 Accessing the Repository** - 用户可以通过各种方式访问版本库,包括本地访问、...

    svn代码检查工具(svnchecker+checkstyle)

    4. **集成`svnchecker`与`checkstyle`**:在SVN服务器的hooks目录下创建或修改pre-commit脚本,使`svnchecker`在提交时调用`checkstyle`进行代码检查。 5. **测试和调试**:提交一些测试代码以验证`svnchecker`和`...

    visualSVN配置限制客户端提交时输入message最少字符数

    - 进入“设置”>“钩子”,找到预提交(pre-commit)钩子并编辑。 - 将上述脚本复制粘贴到编辑器中,保存更改。 2. **测试与验证**: - 在本地SVN客户端尝试提交一个包含短于20个字符的日志信息,验证是否会被...

    FileFormatHooks:SVN提交挂钩库,用于评估文件格式

    1. 配置:首先,你需要将FileFormatHooks库克隆到你的SVN服务器上,然后配置SVN的hooks目录,设置pre-commit钩子脚本为FileFormatHooks提供的C#程序。 2. 自定义规则:根据团队的开发规范,你可以定制或扩展...

    SVNStyleCop实用程序

    4. **集成SVN服务器**:该工具与SVN服务器紧密集成,通过预提交钩子(pre-commit hook)实现自动化检查,无需开发者手动触发,大大提高了效率。 5. **版本控制友好**:SVNStyleCop不仅不影响正常的版本控制操作,还...

Global site tag (gtag.js) - Google Analytics