SVN结账可以是多线程的吗?

non*_*ot1 12 svn https multithreading webdav

我有一个30k +小文件的回购,我只能通过互联网访问服务器https://.结帐非常非常慢.大约数小时.互联网连接速度约为20Mbs,本地机器为3Ghz多核和10k RPM HD.

(svn://遗憾的是,协议不是一种选择.)

所以我的问题:

svn可以对工作副本进行多线程并行检查吗?

看起来svn checkout按顺序逐个文件地进行.每个文件之间有一个微小的延迟,我想这是http请求/回复,可能是我本地文件系统的延迟.(也许还有一点服务器文件系统延迟?)

谢谢

Jea*_*sky 12

我不知道命令,但你可以写一个小的Python(或你选择的工具)脚本来帮助."svn list"为您提供每个子目录的名称.然后,您可以在后台检查每个子目录,以便它们并行发生.您可能需要在第2个/第3个/任何级别深度执行此操作,具体取决于您的目录结构以及所有小文件所在的位置.

我假设你当然没有30K文件在同一目录中.


小智 8

您可以使用 GNU Parallel 进行并行 svn 检出。例子-

svn ls 'https://foo/bar' | parallel svn export 'https://foo/bar/'{}
Run Code Online (Sandbox Code Playgroud)

这将在 'bar' 目录下启动并行 svn checkout。