我的提交后钩子如下所示:
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
和需要解决的更新之间存在合并冲突。