0

我想从提交日志消息中剪切一个字符串(BUGID),然后从可用的 bugid 列表(文本文件)中验证它,如果该 id 无效,那么 pre-commit 钩子应该阻止该提交。例如:

文件添加缺陷 ID:12345

我想从日志消息中删除“Defect ID:12345”,并希望从放置在 SVN 位置的文本文件中进行验证。我正在使用 Windows,需要在 bat 文件中编写 pre-commit 挂钩。我尝试关注但它不起作用。我没有得到任何输出。请帮助

For /F "delims=" %%I in (`svnlook log %REPOS% -t %TXN%`) Do (Set Message=!Message!%%I)
rem Make sure that the log Message contains some text.
echo "%Message%" 1>&2
echo "%Message%" | FindStr [a-zA-Z0-9] >nul
IF %ERRORLEVEL% NEQ 0 (GOTO COMMENT_NOT_OK) else GOTO OK
:COMMENT_NOT_OK
echo COMMENT_NOT_OK 1>&2
echo Your commit has been blocked because you didn't provide adequate 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
if %DEBUG% EQU 1 GOTO EXITDEBUG
exit 1
:OK
if %DEBUG% EQU 1 GOTO EXITDEBUG
exit 0
:EXITDEBUG
echo == EXITDEBUG == 1>&2
exit 0

参考链接:通过 Windows 批处理从 svnlook 获取日志消息

4

0 回答 0