恢复git-svn克隆

Bra*_*ugh 113 git git-svn

我开始使用git-svn的克隆操作克隆SVN存储库.导入大约6个小时后(这是一个很大的回购),我的电脑就睡着了.有没有办法在不重做所有初始工作的情况下恢复操作?

Von*_*onC 149

git svn fetch恢复a 的命令git svn clone由几个来源确认:

(顺便说一句,如果在初始克隆步骤中您的连接中断或者您需要停止它,那么要恢复克隆,您只需运行上述命令即可继续下载历史记录).

似乎有内存泄漏git-svn.这个git-svn过程的规模变得缓慢,大约两周后,它的居民大小为1.2 GB,此时操作系统拒绝让它分叉.
事实上,这是一种伪装的祝福.
我能够用一个简单的" git svn fetch" 来恢复被中断的克隆,并且它在现在极小的堆中运行得更快.
事实上,这很有效,我养成了每天晚上和每天早上都打断并重新启动过程的习惯.几天后,它完成了.

您可以git-svn通过克隆现有的Subversion存储库来开始您的冒险:

git svn clone url://path/to/repo -s
Run Code Online (Sandbox Code Playgroud)

-s标志假定您的存储库使用"trunk,branches,tags"约定.如果不是,您必须手动指定哪些目录代表分支和标记,如果您希望Git知道它们.

这将花费很长时间,因为它将从SVN获取每个修订并在本地提交.如果因任何原因停止,您可以继续git svn fetch.


Bra*_*ugh 16

我找到了一篇博文,提供了(我希望)正确的答案.

显然,运行git svn fetch有效地完成了克隆操作.这是希望!

  • 在获取完成操作后你必须使用`git svn rebase`并让主分支反映主干 (7认同)

zan*_*ipe 8

至少从 git 2.1.0 开始,您只需重新发布即可恢复 git svn clone

但是,这会在您的 .git/config 中复制一些条目,删除它们,一切都会好起来的


Tom*_*eba 5

作为VonC,CaptainAwesomePants和Archi都说过git svn fetch这个伎俩.我正在做一个git svn clone url... --authors-file=path/to/file并且克隆失败,因为其中一位作者不在作者文件中.我将作者添加到文件中然后git svn fetch继续运行,它从它停止的地方继续并稍后查看git日志,似乎它使用新添加的作者来替换提交作者的名称,所以一切都很好.