xak的专栏

Sometimes when I look at the world, I can see a line behind it.

svn添加提交注释限制

当我们用tortoisesvn,提交代码时,有很多人不喜欢写注释的,代码版本多了,根本搞不清,哪个版本改了什么东西?所以如果加一些注释的话,我们看起来,也方便很多。所以在提交的时候,我会强制要求,写注释。如果对svn的安装配置不怎么了解,请参考:linuxsvn安装和配置,不结合apache

1, cd/home/administrator/www/svn_test svn_test是一个代码仓库

2,mv ./hooks/pre-commit.tmpl ./hooks/pre-commit将代码仓库根目录下,hooks文件夹中的pre-commit.tmpl文件重命名为pre-commit

3,vim ./hooks/pre-commit

REPOS="$1"  
  1. TXN="$2"  
  2.   
  3. # Make sure that the log message contains some text.  
  4. SVNLOOK=/usr/bin/svnlook  
  5. $SVNLOOK log -t "$TXN" "$REPOS" | \  
  6.  grep "[a-zA-Z0-9]" > /dev/null || exit 1  
  7.   
  8. Exit on all errors.  
  9. set -e  
  10.   
  11. # Check that the author of this commit has the rights to perform  
  12. # the commit on the files and directories being modified.  
  13. "$REPOS"/hooks/commit-access-control.pl "$REPOS" $TXN \  
  14.  "$REPOS"/hooks/commit-access-control.cfg  
  15.   
  16. # All checks passed, so allow the commit.  
  17. exit 0  

上面改前的,看一下下面的,修改后的。

  1. REPOS="$1"  
  2. TXN="$2"  
  3.   
  4. # Make sure that the log message contains some text.  
  5. SVNLOOK=/usr/bin/svnlook  
  6.   
  7. LOGMSG=`$SVNLOOK log -t $TXN $REPOS | wc -m`       //定义个变量,注意这里不是单引号  
  8.   
  9. #$SVNLOOK log -t "$TXN" "$REPOS" | \               //把这一行和下面的一行注释掉  
  10. # grep "[a-zA-Z0-9]" > /dev/null || exit 1  
  11.   
  12. echo $LOGMSG > /home/administrator/www/aaa.txt     //为了测试变量用的,查看$LOGMSG有没有值,最后要注释掉  
  13. if [ "$LOGMSG" -lt 48 ]                            //这里为什么是48呢,一个汉字对应16个字符  
  14. then  
  15.  echo "\n至少输入4个汉字" >&2                        //必须填四个汉字  
  16.  exit 1  
  17. fi  
  18.   
  19. Exit on all errors.  
  20. #set -e  
  21.   
  22. # Check that the author of this commit has the rights to perform  
  23. # the commit on the files and directories being modified.  
  24. #"$REPOS"/hooks/commit-access-control.pl "$REPOS" $TXN \    //把这一行和下面的一行注释掉。  
  25. #  "$REPOS"/hooks/commit-access-control.cfg  
  26.   
  27. # All checks passed, so allow the commit.  
  28. exit 0  

4,保存后,我们要给pre-commit这个文件,加可执行权限chmod+x pre-commit,有一点在说一下就是$SVNLOOK前面的不是单引号,具体shell语法,请参考shell在线手册

阅读更多
个人分类: 其他技术
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭