SVN强制注释

1.目的

在使用SVN作为版本控制的时候,强制提交的人员写注释,这样能确保每次提交都有注释,方便查看

2.解决办法
     2.1给工程加上属性
          2.1.1在工程提交之后,通过客户端下载下来,再设置其属性,提交到服务器,即可;
             2.1.2优点:可以在提交之前做判断;
             2.1.3缺点:这个设置的过程会比较繁琐;
            2.1.4具体流程
                 a.提交一份工程到仓库里面;
                  b.下载刚才提交的工程;
                 c.设置属性;
                          1)使用eclipse的时候,右击工程名->小组->设置属性->tsvn:logminsize->值为你要设置的长度(1表示2个字)
                           2)使用客户端TortoiseSVN,右击工程文件名(b步中下载的文件夹)->属性->Subversion->properties->add->输入tsvn:logminsize->值为你要设置的长度(1表示2个字)
                    d.提交即可

      2.2使用勾子来做
             2.2.1为仓库加上一个勾子,在提交的时候会执行该勾子
             2.2.2优点:配置很方便;
            2.2.3缺点:是在提交后再判断
                    a.如果是windows系统,则把下面说的pre-commit.bat文件拷贝到仓库目录下的hooks即可;
                    b.如果是linux系统,则把下面说的pre-commit文件拷贝到仓库目录下的hooks即可;

3.pre-commit.bat文件内容
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr "..." > nul#后面几个点就代码要输入几个字符
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log. Commit aborted! 1>&2#这里是提示信息
exit 1

4.pre-commit文件内容
#!/bin/sh
REPOS="$1"
TXN="$2"
SVNLOOK=/usr/bin/svnlook

# check that logmessage contains at least 10 alphanumeric characters
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 10 ];
then
echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2
exit 1
fi

时间: 2024-11-10 07:07:02

SVN强制注释的相关文章

svn 强制用户添加注释 和 允许用户修改注释

当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的Hooks功能的使用. 所谓hooks,可以类似理解Linux内核Netfilter框架的hook点和hook函数的概念.当用户在维护代码的过程中,其执行的相关动作正好触发了相关hook点,就会去执行对应hook点的脚本. 那么如何设置hook脚本以保证强制用户添加注释,以及允许用户修改注释呢? 1

svn提交时强制注释

svn提交时强制注释 不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范.有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢?  利用svn的pre-commit钩子可简单实现此要求.进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl. 编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2)1.Linux系统 方法1: 将: $SVNLOOK l

svn添加强制注释,pre-commit结合python

鉴于组内有些人在提交代码的时候并不写注释,而且没有固定格式,所以准备给svn提交时增加强制注释. 首先找到代码库里的hooks目录,正常建svn库的时候都有这个目录.进入hooks目录,找到pre-commit.tmpl,去掉tmpl,重命名为pre-commit. 这是一个shell脚本,如果是简单的判断注释内容不能小于几个字符,直接写shell脚本就可以,但是现在我想让开发按照固定格式提交代码, 例如: reason:电商 developer:du reviewer:du shell应该也是

centos svn强制要求提交代码时写注释

1. 重命名svn主目录中hooks的pre-commit.tmpl文件为pre-commit,并添加可执行权限 mv pre-commit.tmpl pre-commit chmod u+x pre-commit 2. 编辑pre-commit文件 vi pre-commit # 注释这以下三行 # $SVNLOOK log -t "$TXN" "$REPOS" | \ # grep "[a-zA-Z0-9]" > /dev/null |

【svn】 linux svn 强制提交注释

在svn版本库的hooks文件夹下面,复制模版pre-commit.tmpl cp pre-commit.tmpl pre-commit chmod +x pre-commit vi编辑,如下: #!/bin/sh #必须填写注释且不少于5个字 REPOS="$1" TXN="$2" # Make sure that the log message contains some text. SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLO

CentOS下的svn强制用户提交时写日志

问题:在项目提交时候不写日志,在后期查看修改历史时需要对比版本才知道提交原因.解决方案:在svn服务端通过hooks在提交时强制要求写日志.#!/bin/shREPOS="$1"TXN="$2" SVNLOOK=/usr/bin/svnlook LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`if [ "$L

5.7.17强制注释函数和存储过程参数

SHOW VARIABLES LIKE 'log_bin_trust_function_creators'; log_bin_trust_function_creators:默认值为0,在执行导出的函数和存储过程时,/!*  */ 被认为已注释,执行时会报错! 所以可以开启参数, SET GLOBAL log_bin_trust_function_creators=1: 这样就可以执行备份的函数和存储过程了.

关于SVN提交注释的问题

如果客户端是TortoiseSVN的话,在客户端要设置的版本库上点右键,选择菜单TortoiseSVN--属性,新建属性,选择属性tsvn:logminsize,设置log的最短长度,然后提交.然后如果有人想提交,但没有写足够长度的log,那么提交的确认按钮就是灰色的.

集成SVN源码管理和Mantis缺陷跟踪

集成SVN源码管理和Mantis缺陷跟踪 (windows) 要集成Mantis和SVN,需要几个工具: SVN客户端,TortoiseSVN,下载地址: http://tortoisesvn.net/  SVN服务端,这个应该都有吧. Mantis缺陷跟踪系统 http://www.mantisbt.org/ 首先在TortoiseSVN里设置一下项目的属性,右键点击目录,属性,在subversion一栏里,加入这几个属性 bugtraq:label = issue bugtraq:url =