预先提交Windows挂钩以在评论中要求发行号

时间:2015-07-28 17:48:51

标签: powershell batch-file svn visualsvn-server pre-commit-hook

我正在寻找一种方法来拒绝在评论中缺少错误问题编号的提交。我正在设置的系统使用Windows Server 2012上的VisualSVN Server和LAMP服务器上的MantisBT进行错误跟踪。这个问题已经asked before,但是那个案例中的存储库是在LAMP服务器上。我正在寻找一个不依赖于PHP或编译代码的批处理或PowerShell脚本。理想情况下,钩子会在提交消息中的某处出现“问题#1234”或“问题#12和#34”。

1 个答案:

答案 0 :(得分:2)

基于this batch file

在此块之后:

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
)