不完整的数据:在git svn获取时,Delta源意外结束

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不完整的数据:在git svn获取时,Delta源意外结束相关的知识,希望对你有一定的参考价值。

我已经将我的svn repo克隆到git中,并且我每天都在做git svn fetch(我只对SVN进行更改)但是我打算转到git并且我保持git repo同步这一天,因为svn clone tooke me 2几周(是的,这是一个很大的回购)。

无论如何,git svn fetch每天都运行良好,直到2天前,我现在得到了

Incomplete data: Delta source ended unexpectedly at /usr/lib/perl5/site_perl/Git/SVN/Ra.pm line 290

在特定的修订版。我在网上尝试了不同的建议,关于git svn reset和返回一些修订版本,我回复了大约20个版本,没有运气。我也尝试过:

git config --get core.autocrlf

给了true

我知道svn repo运行良好,我没有问题做svn up。

有什么想法我可以回到正轨再次同步?我陷入困境,没有想法要尝试什么。

我可能会揭露一个问题。我不记得了,但在运行问题之前,我可能在磁盘上有一个磁盘满,当我尝试获取时回购。也许那毁了一些东西?

/ donnib

答案
  1. 确保没有其他git / perl进程在运行(这可能会创建index.lock文件并搞乱当前的提取)。杀光他们。
  2. 删除... my_repository.git .git svn refs remotes trunk index.lock文件
  3. git svn reset -r SomeSVNRevisionNumberBeforeTheProblematicOne
  4. git svn fetch

Fetch应该从SomeSVNRevisionNumberBeforeTheProblematicOne继续。

发生这种情况的最可能原因是在同一个存储库上同时运行的两个git实例之间的并发性。

另一答案

使用--ignore-paths有时会有所帮助,因此步骤如下:

  1. git svn reset -r <svn-version-before-error>
  2. git svn fetch --ignore-paths=/branches/badbranch

以上是关于不完整的数据:在git svn获取时,Delta源意外结束的主要内容,如果未能解决你的问题,请参考以下文章

git svn rebase:数据不完整:增量源意外结束

Tortoise svn commit:“三角洲源意外结束”

GIT和SVN的区别(面试)

如何在svn系统中使用git

版本控制器 (Svn,Git)

git与svn对比