我正在尝试克隆 large subversion repository使用 git svn clone 从 sourceforge 获取。克隆过程会周期性地卡住:SF 只是停止发送数据。最终它会超时,但需要永远。之后就是这样一个循环:
- 运行
git svn fetch
- 等待超时
- 根据需要重复
查看 git svn
手册页,似乎没有明显的方法来设置 I/O 操作的超时。
有什么办法可以让这个过程更加高效吗?
最佳答案
让我给你一些关于加快速度的建议。我自己刚刚运行完它们,所以我确信它们有效。主要技巧是将 Subversion 存储库复制到本地文件系统,然后运行 git svn 。
首先,SourceForge allows to backup repositories using rsync
(请参阅最底部的最后一个命令)。所以从
rsync -ahPv svn.code.sf.net::p/vice-emu/code vice-emu.svn
在一般情况下,rsync
访问不可用,您可以使用 svnrdump
转储存储库:
svnrdump dump --non-interactive https://svn.code.sf.net/p/vice-emu/code > vice-emu.svndump
然后将转储加载到本地存储库中:
svnadmin create vice-emu.svn
svnadmin load vice-emu.svn < vice-emu.svndump
无论哪种方式,您都可以在本地存储库上使用git svn
:
git svn clone file://`pwd`/vice-emu.svn vice-emu
最后还有一个技巧:offload the import to Github .
我的结果是:https://github.com/phdru/vice-emu-ghi (Github 导入器)和 https://github.com/phdru/vice-emu-gitsvn (rsync
+ git svn
+ 后处理)。
关于git - 使用 "git svn clone"从 sourceforge 克隆大型 svn 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009188/