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

本文介绍了一个用于Subversion (SVN) 的Pre-Commit脚本实例,该脚本用于检查提交日志是否包含有效信息及产品编号,确保提交符合规范。通过设置合理的提交日志标准,提高代码仓库的质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值