git - 使用 "git svn clone"从 sourceforge 克隆大型 svn 存储库

标签 git svn git-svn sourceforge

我正在尝试克隆 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 + 后处理)。

PS。如果您要 fork 我的一项或两项结果,请稍后联系我,我将删除我的临时存储库。否则我很快就会删除。

关于git - 使用 "git svn clone"从 sourceforge 克隆大型 svn 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009188/

相关文章:

svn - 移动 SVN 支持的文件后检测错误

svn - 通过 MacPorts 安装后在 Mac OS X Leopard 上找不到 git-svn

git - Git 可以克隆不包括子模块的分支吗?

git - git 中的子树命名约定

svn - 奇怪的 Apache2.2 SVN 错误, "Expected repository format ' 3' or ' 5'; found format ' 9'"

svn - 在 Subversion 提交之前修改文件

svn - 使用奇数分支结构时 Git-svn 分支软管 dcommit

svn - 使用 git svn 回滚 svn 服务器上的一些更改?

git - 如何在推送到服务器之前编辑很久以前的提交日志

Git 相当于 CVS 的 check out 或更新?