提交时的 SVN Hook 会锁定

提交时的 SVN Hook 会锁定

我的提交后钩子如下所示:

pushd C:\Websites\Project

svn update

我正在更新我的服务器存储库副本。

当我提交时,客户端停止发送内容并被锁定或我不知道。它正在等待某事。因此,当我取消并尝试在服务器上手动更新时,我看到:

Working copy "." lockedsvn

并且只有在手动清理并再次更新之后,我才能获得真正提交的更新修订版。

我做错了什么?

答案1

两个想法:

  • 停止是svn update为了要求输入密码吗?提交钩子是非交互式的,因此如果 svn update 要求输入密码,则无法输入密码。尝试执行svn update --username xxxx --password xxxx --non-interactive(根据需要进行替换)。

  • 尝试将输出重定向svn update到文件,以便您可以看到它在做什么(例如svn update > my.debug.file.log),然后如果这没有任何意义,请在此处报告,看看是否有人可以提供更多信息。

另请注意,SVN FAQ 中有一个关于此问题的部分:http://subversion.apache.org/faq.html#website-auto-update...注意其中有关目标目录权限的讨论。

答案2

听起来你svn update实际上正在进行,而提交后钩子只是在等待它完成(你没有说等待它完成多长时间)。

这可能只是因为有大量内容需要更新,或者可能是您的更新被阻止,因为工作副本C:\Websites\Project和需要解决的更新之间存在合并冲突。

相关内容