linux svn设置提交必须注释,svn提交的时候必须添加注释且字数大于指定数字

原标题: svn提交的时候必须添加注释且字数大于指定数字

环境:Linux

版本:svnserve, version 1.6.11

在SVN_HOME的hooks目录下新创建一个文件,其名字为pre-commit。

凯哥的SVN_HOME为:/opt/svn/kaigejava。所以对应创建文件目录如下:

644e6dbc9ea3ca616adfe9b228216f2c.png

在pre-commit文件中输入如下脚本:

#!/bin/sh

REPOS="$1"

TXN="$2"

SVNLOOK=/usr/bin/svnlook #这里根据自己实际情况填写

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c)

if [ "$LOGMSG" -lt 10 ]; then

echo -e "\n 注释不能为空,且不能少于十个字符!提交中止.""请添加注释后,重新提交">&2

exit 1

fi

使用文本编辑器就可以打开该文件。

脚本命令介绍:

SVNLOOK:指定自己的svnlook所在的目录位置

LOGMSG=$($SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c):

$SVNLOOK log -t "$TXN" "$REPOS":获取svn提交的日志记录

grep "[a-zA-Z0-9]":这个正则意思是大小写字母及数字

if [ "$LOGMSG" -lt 10 ]; then:判断 如果字符小于10 。

-lt:使用的是转移后的小于号

-eq:等于号

-gt:大于号

echo -e "\n 注释不能为空,且不能少于十个字符!提交中止.""请添加注释后,重新提交">&2:当if条件不成立的时候,显示错误信息

需要注意:在使用 echo -e 的时候显示错误信息的时候,必须重定向到指定的str中。如本例中"请添加注释后,重新提交">&2。

最重要的:

给给文件赋权。不然没法执行的。最简单的,添加执行权限:chmod +x pre-commit。

进行测试:

通过svn客户端连接后。新建文件:

45265b76f5c62bd635da8f91d5e1a636.png

将文件添加到SVN中:

01f34abcc9cb0177df848a0ebdc95359.png

提交到SVN中:

f682019d943d5c5d25fd4c473643d634.png

不添加注释或注释小于10个字符的,可以用看到错误信息如下:

7f77d87d7035a656e78f8a02ea4fb276.png

添加注释大鱼10个字符的:

2184d43d186de7fc6607346d6c3f9dab.png

再次提交:

e4caf0c8934a45952c913d99c849e3f6.png

提交成功。完成。

需要注意第二:在创建新项目的时候,需要把该文件复制到对应姓名的hooks目录下,并赋予执行权限。

总结:

1:pre-commit文件是在SVN_HOEM下的hooks目录中

2:脚本编写时候:SVNLOOK的值要根据自己实际情况填写

3:一定要记得赋权,执行权限返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值