当我在VisualSVN存储库上使用post-commit挂钩时,TortoiseSVN挂起(冻结)“发送内容”。以下是钩子:
cd C:\Sysinternals\
PsExec \\\OtherComputer TortoiseProc /command:update /path:"C:\MyPath\" /closeonend:4
发送内容,但需要本地更新或将其标记为已过期。有什么想法吗?
答案 0 :(得分:2)
必须首先完成钩子脚本才能使提交成功。所以客户必须等待。如果您的钩子脚本花费太长时间或根本没有完成,则提交似乎挂起。 您可以尝试在单独的进程中在钩子脚本中启动长时间运行的命令,以便钩子脚本本身立即完成。
但是:如果OtherComputer是您尝试提交的计算机并且脚本尝试更新同一个工作副本,那么这也无济于事:更新必须等到提交完成,但是commit等待运行更新的钩子脚本完成 - 你有一个死锁。
答案 1 :(得分:1)
这看起来像是一个本地钩子。我认为你不能像那样使用PsExec。我想你正在另一台计算机上打开PsExec会话,它就在那里。它没有办法查看脚本中的下一行。即TortoiseProc没有输入PsExec 我认为你需要在另一台机器上安装SVN客户端(命令行客户端)。然后制作一个bat文件(updateme.bat),将它放在那台机器上,然后你可以做这样的事情(所有一行):
c:\sysinternals\PsExec \\OtherComputer c:\updateme.bat