SHELL实现svn必须添加注释后提交

最近在公司的项目中,因为很多人都参与开发,于是我们毫不犹豫的使用了svn来管理我们的项目,我们也特别强调,在提交代码的时候必须要添加注释,如果不添加注释,代码版本多了,根本搞不清,哪个版本改了什么东西?所以如果加一些注释的话,我们看起来,也方便很多。但是在真正的实际中,很多人都没有添加相关的注释,这里面的原因很多,因此决定通过脚本来控制这一过程,也就是实现必须要通过添加描述信息才能顺利的提交你的代码!。所以在提交的时候,我会强制要求写注释。如果对svn的安装配置不怎么了解,请参考:linux svn安装和配置,不结合apache

Java代码  

  1. #cd /home/administrator/www/svntest svntest是一个代码仓库  
  2. #cp ./hooks/pre-commit.tmpl ./hooks/pre-commit 将代码仓库根目录下,hooks文件夹中的pre-commit.tmpl文件重命名为pre-commit  
  3. #chmod +x ./hooks/pre-commit  
  4. #vi ./hooks/pre-commit  

 修改前的SHELL脚本:

Java代码  

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

 修改后的脚本:

Java代码  

  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  

 保存退出后!执行提交操作,效果图如下:

时间: 2024-11-02 20:38:18

SHELL实现svn必须添加注释后提交的相关文章

Linux之svn强制有注释才能提交

在hooks目录下添加一个脚本就ok #!/usr/bin/env python #-*- encoding: utf-8 -*- ######################################################################### # File Name: pre-commit.py # Author: LookBack # Email: admin#dwhd.org # Version: # Created Time: 2015年09月28日 星

如何设置SVN提交时强制添加注释

windows版本: 1.新建一个名为pre-commit.bat的文件并将该文件放在创建的库文件的hooks文件夹中 2.pre-commit.bat文件的内容如下: @echo off set SVN_BINDIR="C:\ProgramFiles\Subversion" set SVNLOOK="E:\freescm\freescm\SVN\bin\svnlook.exe" setlocal set REPOS=%1 set TXN=%2 rem check

sdn onos-ONOS添加了@service注释后,还找不到服务

问题描述 ONOS添加了@service注释后,还找不到服务 调试ONOS,想添加一个自定义的命令,已添加了@Service注释,但还是报 karaf@root()> fwdmap Service org.onosproject.net.apps.ForwardingMapService not found 错误,求高手指点一下. 解决方案 报错信息全放出来吧. 添加自动扫描了没 解决方案二: karaf@root()> feature:list -i|grep hello onos-app-

word文档如何添加注释

 文档如何添加注释-word文档添加注释"> 首先我们先打开一篇文档,把光标放在我们需要注释的字后面.这里我选择的是房地产三个字.然后引用,在点击脚注边上的按键,如图所示. 在脚注与尾注命令框中,选择脚注,在编号格式处选择我们需要的编号格式,一般是选择带圈圈的数字. 再然后我们还要在编号处改为每页重新编号.(当然这可以根据需要选择,实际操作)之后点击插入. 然后光标自动跳到该页的尾端,现在只需把"房地产"我们需要添加的注释写入就可以了.这个注释的字体大小和标号大小是可以

jquery.val...-datatable添加一行后怎么能够自动刷新页面

问题描述 datatable添加一行后怎么能够自动刷新页面 fnDraw()方法,删除的时候好使,添加的时候没有反应呢?jquery-validation 用button按钮提交的时候该怎么写.

windows-SVN的pre-commit中做代码检测,成功后提交

问题描述 SVN的pre-commit中做代码检测,成功后提交 事情是这样的: 我想实现,在提交代码时,对提交的代码进行编码规范检测,检测通过才能提交成功. 即需要在pre-commit实现检测:检测后面的已经做好. 当前问题是,怎么实现在pre-commit中检测到我的提交代码,并同步更新到我的测试服务器上? 在pre-commit 中只有两个传入参数,路径和事件名,还有一个svnlook命令可以用,感觉自己比较春蠢,不知道怎么做, 求大神拯救,急 急 急 送上全部家当,呜呜,解答. 总结下,

jquery-JQuery 动态添加ID后,无法触发点击事件

问题描述 JQuery 动态添加ID后,无法触发点击事件 html代码 学校 姓名 js代码 function abc($ww) { $("#wo").append(" 专业 "); } function a($dd) { $("#h1").html('小明'); } 点击后,为什么无法改变? 解决方案 你的代码没贴全吧,还是没有使用代码片html被过虑了? 首先function a($dd),括号中的参数是不需要加$符号的,其次就是没有绑定点击

c# 怎么实现在现有PDF文件中 添加注释和标注!

问题描述 PDF文件已经存在,需要在现有文件中添加注释或标注!怎么用C#实现呀!各位大神! 解决方案 解决方案二:已有的PDF文件可以参考这里,可以下个版本的,解压缩后把.dll文件加到工程里面,再用demo里面的代码试试staticvoidMain(string[]args){PdfDocumentdoc=newPdfDocument();PdfPageBasepage=doc.Pages.Add();PdfFontfont=newPdfFont(PdfFontFamily.Helvetica

框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,

问题描述 框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,而是在打开了另外一个页面,我想让它跳回原jsp.人事管理中后台,框架右边显示员工所有信息,点上面添加员工,弹出一个子页面,填写信息点提交执行Action但是跳转是打开新的查询所有员工信息页面,应该是关闭该子页面,并且回到原框架父页面.这样跳转才是对,如何解决 解决方案 解决方案二:框架中jsp弹出js后提交表单时执行action时没有跳转回原jsp,解决方案三:怎么可能跳回原页面呢?肯定是跳到result页面啊.你要