09
set svnlook="E:\Program Files (x86)\VisualSVN Server\bin\svnlook.exe"
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 10 characters
%svnlook% log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo 提交被阻止,请填写关于此次提交的log信息(需大于10个字符[5个汉字]),然后再重新提交! 1>&2
exit 1
补充阅读#
解释 SVN 提交前钩子怎样检查日志长度,以及服务端执行环境需要确认的内容。
如何理解与使用#
脚本使用仓库路径和事务参数读取本次提交信息,并以非零退出码阻止不符合要求的提交;它应作为服务端钩子运行。
验证与边界#
分别测试空日志、短日志和合格日志,并确认服务账号能运行 svnlook。字符数与字节数可能不同,中文长度条件需要在目标环境实际验证。
