我正在寻找一种方法来拒绝在评论中缺少错误问题编号的提交。我正在设置的系统使用Windows Server 2012上的VisualSVN Server和LAMP服务器上的MantisBT进行错误跟踪。这个问题已经asked before,但是那个案例中的存储库是在LAMP服务器上。我正在寻找一个不依赖于PHP或编译代码的批处理或PowerShell脚本。理想情况下,钩子会在提交消息中的某处出现“问题#1234”或“问题#12和#34”。
答案 0 :(得分:2)
在此块之后:
setlocal enabledelayedexpansion
set REPOS=%1
set TXN=%2
set SVNLOOK="%VISUALSVN_SERVER%\bin\svnlook.exe"
REM Concatenate all the lines in the commit message
FOR /F "usebackq delims==" %%g IN (`%SVNLOOK% log -t %TXN% %REPOS%`) DO SET M=!M!%%g
添加支票:
echo !M! | findstr /i /r /c:"issues* *#[0-9][0-9]*" >nul
if errorlevel 1 (
echo "Sorry, commit message should reference an issue" >&2
exit /b 1
)