SVN提交内容时必须填写日志_svn自动填写提交日志
SVN提交内容时必须填写日志由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“svn自动填写提交日志”。
SVN提交内容时必须填写日志
这里需要用到钩子问题,具体呢只需在hooks文件夹下添加两个文件即可
第一个文件 pre-commit,内容如下:
#!/bin/sh
REPOS=“$1”
TXN=“$2”
SVNLOOK=D:ProgramFilesSubversionbinsvnlook.exe# svnlook.exe的安装路径
# check that logmeage contains at least 10 alphanumeric characters##设置日志需填写至少10个字符 LOGMSG=`$SVNLOOK log-t “$TXN” “$REPOS” | grep “[a-zA-Z0-9]” | wc-c`
if [ “$LOGMSG”-lt 10 ];
then
echo-e “nEmpty log meage not allowed.Commit aborted!” 1>&2
exit 1
fi
第二个文件pre-commit.bat,内容如下:
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmeage contains at least 10 characters
svnlook log “%REPOS%”-t “%TXN%” | findstr “..........” > nul// “..........” 十个“.”代表十个字符 if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log meage not allowed.Commit aborted!1>&2
exit 1
#①set REPOS=%1
#set TXN=%2还记得我们前面提到的但事务提交时,会传递两个参数吗?这里就是分别用来接收URL和事务号的#②svnlook log “%REPOS%”-t “%TXN%” | findstr “..........” > nul
#这句是核心程序。首先svnlook log是用来查看某个版本库某次提交的log的,那么我们怎么知道这两个
#参数呢?答案就是我们前面已经保存的REPOS和TXN参数。
#它的作用是查看%REPOS%这个URL第%TXN%次提交的log信息,那么| findstr “..........”呢?细心 的读者会发现这里有10个圆点号,即表示10个字符。
#整句的作用就是先获取当前提交的log内容,然后判断是否有10个字符以上
#③echo Empty log meage not allowed.Commit aborted!1>&2
#这句话的作用是当提交检查失败时,输出的提示信息