一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2017-07-16 编辑:简简单单 来源:一聚教程网

一、编写 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下可以乌龟客户端。

热门栏目