VisualSVN预提交规则

4

将此钩子与VisualSVN Server一起使用,添加到Repository/hooks文件夹中作为pre-commit.bat。

我的问题是如何添加规则,使评论始终以数字值开头?我希望评论的第一部分始终是来自错误跟踪器的问题编号。例如,“123-此提交修复了问题123”

@echo off
::    
:: Stops commits that have empty log messages.
::

@echo off

setlocal

rem Subversion sends through the path to the repository and transaction id
set REPOS=%1
set TXN=%2

rem check for an empty log message
svnlook log %REPOS% -t %TXN% | findstr . > nul
if %errorlevel% gtr 0 (goto err) else exit 0

:err
echo. 1>&2
echo Your commit has been blocked because you didn't give any log message 1>&2
echo Please write a log message describing the purpose of your changes and 1>&2
echo then try committing again. -- Thank you 1>&2
exit 1

关于注释中的数字:当有人添加注释时,修订号码是否不符合您的要求? - mosg
该数字将是来自错误跟踪器的问题编号。 - user23048345
2个回答

2

尝试使用以下正则表达式:

findstr "^[0-9]"

即。
svnlook log %REPOS% -t %TXN% | findstr "^[0-9] > nul
if %errorlevel% gtr 0 (goto err) else exit 0

0
请参阅文章KB140: 在VisualSVN Server中验证提交日志消息并使用选项--regexp ARG。在您的情况下,当您希望提交日志消息始终以数字开头时,请尝试使用\d+正则表达式值。
例如,像这样:
"%VISUALSVN_SERVER%\bin\VisualSVNServerHooks" check-logmessage ^
  --regexp "\d+" ^
  -t "%2" "%1"
IF ERRORLEVEL 1 echo Issue number must be specified. >&2 & exit /b 1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接