欢迎来到代码驿站!

Shell

当前位置:首页 > 脚本语言 > Shell

SVN限制message字符个数及格式的实例

时间:2021-04-07 10:17:07|栏目:Shell|点击:

一、编写 pre-commit脚本

------------------------------------
#/bin/bash

REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`
echo $LOGMSG
#check log message more than 15_chars
if [ "$LOGMSG" -le 15 ];
then
#  echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2
  echo -e "[Commit]注释信息不能为空且不少于15个字符! " 1>&2
  exit 1
fi

#if [[ "$MSG" == "["*"]"* ]];
if [[ "$MSG" == "["[A-Z]-[A-Z][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]"]"* ]];
then
  exit 0
#  echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2
else
  echo -e "[Commit]注释信息不要遗漏产品编号,如[W-P170122-08],若无产品编号请以[A-A000000-00]开头填写备注,谢谢! " 1>&2
  exit 1
fi
# All checks passed, so allow the commit.
exit 0
-----------------------------------------

其中SVNLOOK要注意路径,LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`这个统计长度。

MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`为日志的内容

二、将编辑好文件放到svn服务器仓库hooks中,Linux下要确保pre-commit可执行的。

三、可以在svn客户端实验了,window下可以乌龟客户端。

上一篇:ubuntu 解决libsqlite3-0依赖的问题(推荐)

栏    目:Shell

下一篇:一键配置CentOS iptables防火墙的Shell脚本分享

本文标题:SVN限制message字符个数及格式的实例

本文地址:http://www.codeinn.net/misctech/96645.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有