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

问题描述 投票:2回答:2

我已经将我的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

git git-svn
2个回答
1
投票
  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实例之间的并发性。


0
投票

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

  1. git svn reset -r <svn-version-before-error>
  2. git svn fetch --ignore-paths=/branches/badbranch
© www.soinside.com 2019 - 2024. All rights reserved.