SVN post 提交挂钩不工作?

SVN post commit hook not working?

在我的本地框上导航到 TortoiseSVN,打开设置并 'Hook Scripts'。单击 'Add...' 并输入以下值

挂钩类型 post_commit_hook

工作副本路径 https:\svn.internal.net\svn\Release_Customer

要执行的命令行 C:\postCommitHook.bat

postCommitHook.bat文件内容为

"C:\Program Files\TortoiseSVN\bin\svnlook.exe" log -t %2 %1 | FindStr [a-zA-Z0-9]
IF %ERRORLEVEL% EQU 0 GOTO OK
echo "Commit Comments are Required" >&2
exit 1
:OK
exit 0

但是当我从我的本地框代码(指向 https:\svn.internal.net\svn\Release_Customer)提交而没有任何评论时,我仍然能够提交。为什么我的 postCommitHook.bat 正在限制它?

基本上我尝试将限制添加到 svn repo(https:\svn.internal.net\svn\Release_Customer),因为批处理脚本位于本地框上。可以吗?

您有两个问题:

  1. 如果你想阻止提交发生,它必须在 pre-commit 钩子脚本中发生。 post-commit 挂钩在 成功提交后执行 ,这对您的用例没有帮助。
  2. 您配置的挂钩仅在您的计算机本地,并且用于通过 TortoiseSVN 执行的提交。要在存储库中安装挂钩脚本,您需要对 SVN 服务器本身的文件系统具有适当级别的访问权限,以将其放置在存储库数据库本身的 hooks 目录中。 More info in the manual