繁体   English   中英

SVN 钩子不执行异步

[英]SVN hooks don't execute asynchronous

在我们的 SVN 服务器(Windows / VisualSVN 服务器)上,我创建了一个提交后脚本来自动更新服务器上的本地工作副本(用于预览目的)。 Post-Commit 脚本包含如下内容:

svn.exe cleanup .....
svn.exe update .....

这很好用。 但是,我们有一些更大的存储库,这需要一段时间。 我想在提交某些内容时异步运行此脚本。 因此,我将 SVN 指令移到外部批处理文件中,并尝试使用 CMD /C 或 Start 命令来完成此操作。

start "" "d:\svn\update-repository.bat"

或者

cmd /c "d:\svn\update-repository.bat"

甚至

start cmd /c "d:\svn\update-repository.bat"

不提供异步性能。 在整个存储库在服务器上更新之前,它仍然保持提交状态。

有任何想法吗?

我认为 svn 服务器运行的命令在完成之前不会完全返回 - 这意味着原始 cmd 将坐在那里允许您运行其他命令,否则等待生成的 cmd 应完成。 只有这样,“会话”(因为想要更好的词)才会完成并将控制权返回给 Subversion。

我会将您要运行的命令写入文件,然后使用外部生成的命令(例如计划任务)定期运行保存的命令(注意,每次执行后删除或重命名文件)。 这将它与 subversion 服务器的处理分离。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM