SVN 的预提交挂钩与 Enterprise Architect 的行为不符合预期

Pre Commit Hook for SVN not behaving as expected with Enterprise Architect

我在我的 SVN(Visual SVN 服务器和 Tortoise 客户端)上使用预提交挂钩。它工作得很好。现在我们想通过企业架构师提交(我们在其中提供 svn.exe 地址)。现在预提交挂钩会阻止提交。 下面是提交钩子

REM Pre Commit hook for having a comment of at least 20 characters. 

setlocal enabledelayedexpansion

set REPOS=%1
set TXN=%2
set SVNLOOK="%VISUALSVN_SERVER%\bin\svnlook.exe"

SET M=
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

REM Make sure M is defined
SET M=0%M%

REM Here the 20 is the length we require
IF NOT "%M:~20,1%"=="" goto NORMAL_EXIT

:ERROR_TOO_SHORT
echo "Commit note must be at least 20 letters" >&2
goto ERROR_EXIT

:ERROR_EXIT
exit /b 1

REM All checks passed, so allow the commit.
:NORMAL_EXIT
exit 0

请提出您的解决方案。 我得到的错误代码是 E165001

Enterprise Architect,提交文件夹时会添加自己的注释。 "Adding Folders"。它只提交一次添加和下一次内容。这就是上述挂钩失败的原因,因为它不是 20 个字符。