正在恢复git svn克隆

正在恢复git svn克隆,git,git-svn,Git,Git Svn,我开始使用git SVN的克隆操作克隆SVN存储库。在大约6个小时的导入(这是一次大型回购)后,我的电脑就在我身上睡着了。有没有办法在不重做所有初始工作的情况下恢复操作?我发现提供了(我希望)正确答案的方法 显然,运行git svn fetch可以有效地完成克隆操作。希望在这里 恢复git svn克隆的git svn fetch命令已得到多个来源的确认: 博客条目 (顺便说一句,如果在最初的克隆步骤中连接断开或需要停止连接,则要恢复克隆,只需运行上述命令即可恢复下载历史记录) git

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

我发现提供了(我希望)正确答案的方法


显然,运行
git svn fetch
可以有效地完成克隆操作。希望在这里

恢复
git svn克隆的
git svn fetch
命令已得到多个来源的确认:

  • 博客条目
(顺便说一句,如果在最初的克隆步骤中连接断开或需要停止连接,则要恢复克隆,只需运行上述命令即可恢复下载历史记录)

git svn
中似乎存在内存泄漏。
git svn
进程的大小增长缓慢,大约两周后达到1.2GB驻留大小,此时操作系统拒绝让它分叉。
事实上,这是因祸得福。
我可以用一个简单的“
git svn fetch
”来恢复中断的克隆,而现在堆大大缩小了,它运行得更快。
事实上,这样做效果非常好,以至于我养成了每天晚上和早上打断并重新启动流程的习惯。几天后就完成了

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

-s
标志假定存储库使用“主干、分支、标记”约定。如果没有,您必须手动指定哪些目录表示分支和标记,如果您想让Git了解它们的话

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


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

至少从git 2.1.0开始,只需重新发布
git svn clone


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

在获取之后,您必须使用
git svn rebase
来完成操作,并让主分支反映主干。您可以提供一个到博客帖子的链接以供将来参考吗?我认为有些命令行选项提供给
git svn clone
还需要提供(如适用)给
git svn fetch
。例如,我为git svn clone设置了
-r HEAD
,以仅获取HEAD svn修订版。要继续,我运行了
git svn fetch
,它开始导入所有修订版。这将从第一个修订版开始重新开始。。。。我有一万份承诺!有没有想过如何从中断的地方重新开始?@NathanJ.Brauer不是我脑子里想的。您可能会问一个新问题(使用了操作系统、git版本和svn版本,以及返回此答案的上下文链接),我在
git svn clone
期间意外终止了网络连接,从而中断了该过程。再次运行
git svn clone
似乎可以恢复正在进行的克隆。还有其他人做过吗?@Kehlan显然是这样,如果你从至少Git 2.1.0…<代码>考虑<代码> >是否在Git 1.91中存在这个特性?抱歉,我不再有任何的VSN存储库来尝试这个了。<代码> Git Svn FutCH 导致了一个校验和不匹配对我来说是不可能重置的,因为显然没有头:/-但是这很好,只需从
.git/config
git svn clone url://path/to/repo -s