VisualSVN 预提交规则

问题描述 投票:0回答:2

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

我的问题是如何添加评论必须始终以数值开头的规则?我希望评论的第一部分始终是错误跟踪器的问题号。例如。 “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
svn batch-file visualsvn-server svn-hooks
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
© www.soinside.com 2019 - 2024. All rights reserved.