当我们用tortoisesvn,提交代码时,有很多人不喜欢写注释的,代码版本多了,根本搞不清,哪个版本改了什么东西?所以如果加一些注释的话,我们看起来,也方便很多。所以在提交的时候,我会强制要求,写注释。如果对svn的安装配置不怎么了解,请参考:linux svn安装和配置,不结合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" 
TXN="$2" 
 
# Make sure that the log message contains some text. 
SVNLOOK=/usr/bin/svnlook 
$SVNLOOK log -t "$TXN" "$REPOS" | \ 
 grep "[a-zA-Z0-9]" > /dev/null || exit 1 
 
# Exit on all errors. 
set -e 
 
# Check that the author of this commit has the rights to perform 
# the commit on the files and directories being modified. 
"$REPOS"/hooks/commit-access-control.pl "$REPOS" $TXN \ 
 "$REPOS"/hooks/commit-access-control.cfg 
 
# All checks passed, so allow the commit. 
exit 0 
上面是修改前的,看一下,下面的,修改后的。
查看复制打印?
REPOS="$1" 
TXN="$2" 
 
# Make sure that the log message contains some text. 
SVNLOOK=/usr/bin/svnlook 
 
LOGMSG=`$SVNLOOK log -t $TXN $REPOS | wc -m`       //定义个变量,注意这里不是单引号 
 
#$SVNLOOK log -t "$TXN" "$REPOS" | \               //把这一行和下面的一行注释掉 
# grep "[a-zA-Z0-9]" > /dev/null || exit 1 
 
echo $LOGMSG > /home/administrator/www/aaa.txt     //为了测试变量用的,查看$LOGMSG有没有值,最后要注释掉 
if [ "$LOGMSG" -lt 48 ]                            //这里为什么是48呢,一个汉字对应16个字符 
then 
 echo "\n至少输入4个汉字" >&2                        //必须填四个汉字 
 exit 1 
fi 
 
# Exit on all errors. 
#set -e 
 
# Check that the author of this commit has the rights to perform 
# the commit on the files and directories being modified. 
#"$REPOS"/hooks/commit-access-control.pl "$REPOS" $TXN \    //把这一行和下面的一行注释掉。 
#  "$REPOS"/hooks/commit-access-control.cfg 
 
# All checks passed, so allow the commit. 
exit 0 
4,保存后,我们要给pre-commit这个文件,加可执行权限chmod +x pre-commit,有一点在说一下就是$SVNLOOK 前面的不是单引号,具体shell语法,请参考shell在线手册

svn强制提交备注信息的更多相关文章

  1. 【svn】 linux svn 强制提交注释

    在svn版本库的hooks文件夹下面,复制模版pre-commit.tmpl cp pre-commit.tmpl pre-commit chmod +x pre-commit vi编辑,如下: #! ...

  2. SVN强制添加备注

    1.进入仓库project1/hooks目录,找到pre-commit.tmpl文件 cp pre-commit.tmpl pre-commit 2.编辑pre-commit文件, 将: $SVNLO ...

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

    当我们用TortoiseSVN提交代码时,有很多人不喜欢写注释,导致以后代码版本多,也不清楚哪个版本到底改了什么东西.所以在提交的时候,我会强制要求添加注释.这是如何实现的?这个话题就涉及到了svn的 ...

  4. svn无法提交

    svn无法提交, 错误信息:Commit failed. svn: E200007: CHECKOUT can only be performed on a version resource... 解 ...

  5. svn 中commit时必须填写备注信息如何设置

    在软件开发团队中总是有人忘记添加备注信息,可以通过下面方式进行设置,从而在commit时强制需要填写备注信息. 在服务端选中需要设置的项目进行设置. 选中项目右键,"所以任务"-& ...

  6. 设置VisualSVN在提交修改时必须输入一定数量的备注信息

    我发现在使用SVN中,提交时,很多人不习惯填写备注信息,虽然在培训中.平时使用时多次提醒备注信息的好处,但是效果不大,每次提交时还是不写,或者随便写两字. 所以很有必要通过系统设置强制填写足够数量的备 ...

  7. 使用SVN钩子强制提交日志和限制提交文件类型

    Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能.所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有 ...

  8. SVN hooks强制提交时填写日志

    #!/bin/bash REPOS="$1" TXN="$2" #svnlook路径 SVNLOOK=/usr/bin/svnlook #通过svnlook获取 ...

  9. svn如何根据提交日志信息回退版本

    问题场景: 1 记得提交的日志信息中包含openssl,但是不记得这次提交的版本号revesion,是svn初始化后中间的某次提交: 2 svn环境的操作系统平台为Fedora, 即命令行下:而且sv ...

随机推荐

  1. NC保存报dirty解决方法

    在NC UI端测试保存的时候报  " The data whose initcode is 6033 is dirty! " 错误,其解决方式是 在IHrPf接口中添加你的单据模板编号 和 参数模板 ...

  2. uva 1344

    这本来是暑假集训做过的一个题 现在做来 就三种情况 1.田忌最快的比齐王最快的快 就用最快的比最快的 2.田忌最慢的比齐王最慢的快 就用最慢的比最慢的 3.上两种情况都不符合 用田忌最慢的去比齐王最快 ...

  3. hdu 3790 最短路径问题(最短路,Dijsktra)

    题目 Dijsktra基础题,只是多了一个花费,稍稍变动处理就好 #define _CRT_SECURE_NO_WARNINGS #include<string.h> #include&l ...

  4. 独立IP与共享IP的区别

    做网站选择独立IP还是共享IP,相信很多站长都在此纠结过,自己不使用服务器的时候从来没有关心过独立IP和共享IP的究竟有什么具体的差别.但当自己真正用到的时候,才发现:同样都是 IP,差别不是一般的大 ...

  5. codeforces div.1 A

    A. Efim and Strange Grade time limit per test 1 second memory limit per test 256 megabytes input sta ...

  6. [itint5]最短路径遍历点

    http://www.itint5.com/oj/#50 此题有点难,参考了这篇文章,是个两条路的DP: http://blog.csdn.net/a83610312/article/details/ ...

  7. springmvc文件上传2中方法

    基于前面文章的基础上. 一.准备 需要的jar  二.配置 1.  spmvc-servlet.xml <?xml version="1.0" encoding=" ...

  8. web服务器、应用服务器、http服务器区别

    引用 WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器     Web服务器的基本功能就是提供Web信息 ...

  9. ios开发图片点击放大

    图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现 创建了一个专门用于放大图片的类,以下为.h文件 #import <Foundation/Foundation. ...

  10. WCF入门(九)--WCF实例管理

    这组由Windows通讯基础(WCF)结合一组消息(客户端请求)服务实例所采用的技术被称为实例管理.一个完全由三种类型实例激活支持WCF,它们如下所述. 1.每个调用服务 每次调用服务是Windows ...