使用 "git svn clone" 从 sourceforge 克隆一个大型 svn 存储库
Cloning a large svn repository from sourceforge with "git svn clone"
我正在尝试使用 git svn clone
从 sourceforge 克隆一个 large subversion repository。克隆过程周期性地卡住:SF 只是停止发送数据。最终它会超时,但需要 永远 。这之后就是一个循环:
- 运行
git svn fetch
- 等待超时
- 根据需要重复
查看 git svn
手册页,似乎没有明显的方法可以为 i/o 操作设置超时。
有什么方法可以使这个过程更有效率吗?
您可以使用 -r
在您看到它能够很好地拉取(或者说,在此之前的 100 个修订)的修订处恢复该过程
git svn fetch -r some-revision:HEAD
这样你就不会从头开始。
让我给你一些加快速度的建议。我刚刚 运行 自己完成了它们,所以我确信它们可以工作。主要技巧是将 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 Importer) and https://github.com/phdru/vice-emu-gitsvn(rsync
+ git svn
+ 后处理)。
PS。如果您要分叉我的一个或两个结果,请稍后 ping 我,我将删除我的临时存储库。否则我会尽快删除。
我正在尝试使用 git svn clone
从 sourceforge 克隆一个 large subversion repository。克隆过程周期性地卡住:SF 只是停止发送数据。最终它会超时,但需要 永远 。这之后就是一个循环:
- 运行
git svn fetch
- 等待超时
- 根据需要重复
查看 git svn
手册页,似乎没有明显的方法可以为 i/o 操作设置超时。
有什么方法可以使这个过程更有效率吗?
您可以使用 -r
在您看到它能够很好地拉取(或者说,在此之前的 100 个修订)的修订处恢复该过程git svn fetch -r some-revision:HEAD
这样你就不会从头开始。
让我给你一些加快速度的建议。我刚刚 运行 自己完成了它们,所以我确信它们可以工作。主要技巧是将 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 Importer) and https://github.com/phdru/vice-emu-gitsvn(rsync
+ git svn
+ 后处理)。
PS。如果您要分叉我的一个或两个结果,请稍后 ping 我,我将删除我的临时存储库。否则我会尽快删除。