在git svn提取过程中解压一个树对象的致命错误 [英] Fatal error unpacking a tree object during a git svn fetch

查看:357
本文介绍了在git svn提取过程中解压一个树对象的致命错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当运行得到svn fetch从上游svn仓库中取出最新的新分支时,我得到这个错误:

  $ git svn fetch 
致命:未能解包树对象5ecb324e8b8fcb918acb253f33edc6ce49e49e0d
读取树5ecb324e8b8fcb918acb253f33edc6ce49e49e0d:命令返回错误:128

现在,每次尝试git svn都会导致同样的错误。最初我运行的是git版本1.5.6.4_0,出现错误后我尝试更新到1.6.0.2_2,问题仍然存在。



有什么方法可以清理这种腐败?上游存储库的新git svn克隆是好的,但我想保留我现有的设置。我已经浏览了文档,并且搜索了这个问题,但没有运气。 我有同样的问题。这是由于特定的SVN版本,git-svn无法读取或以某种方式处理。这是我试过的顺序:


  1. 回到已知的修订版: git svn reset -r 42

  2. 重试抓取: git svn fetch - 从42开始获取每个修订版直到有罪说50),然后显示相同的错误消息。

  3. 获取父: git svn fetch --parent - 不要问我为什么。这取得了更多的修订。
  4. 重试抓取: git svn fetch - 仍然不起作用。

  5. 获取以下每个修订:


    1. git svn fetch -r 50 - Works。

    2. git svn fetch -r 51 - 虽然没有错误讯息,请继续。

    3. git svn fetch -r xx - 出现错误信息,这是错误的修订。
    4. git svn fetch -r xx + 1 - Works。


    5. 重试抓取: git svn fetch - Works!开始获取更多修订版本。

    这个过程应该被清理(可能接近第一步)而无需重新开始新的克隆。


    When running get svn fetch to pull the latest new branches from the upstream svn repository I got this error:

    $ git svn fetch
    fatal: failed to unpack tree object 5ecb324e8b8fcb918acb253f33edc6ce49e49e0d
    read-tree 5ecb324e8b8fcb918acb253f33edc6ce49e49e0d: command returned error: 128
    

    Now every attempt at git svn on that local repo results in the same error. Originally I was running git version 1.5.6.4_0 and after the error I tried updating to 1.6.0.2_2 and the problem still persists.

    Is there any way to clean up this corruption? A fresh git svn clone of the upstream repository is fine, but I'd like to preserve my existing setup. I've looked through the docs and googled for the problem with no luck.

    解决方案

    I had the same problem. It is due to a particular SVN revision that git-svn can't read or deal with somehow. Here is what i tried in order:

    1. Rewind to a revision known to work: git svn reset -r 42
    2. Retry the fetch: git svn fetch — Fetches each revision starting from 42 until the guilty one (say 50), then shows the same error message.
    3. Fetch the parent: git svn fetch --parent — Don't ask me why. That fetches more revisions. No idea whether it's relevant though.
    4. Retry the fetch: git svn fetch — Still doesn't work.
    5. Fetch each of the next revisions:

      1. git svn fetch -r 50 — Works.
      2. git svn fetch -r 51 — While no error message, go on.
      3. git svn fetch -r xx — The error message shows up, it's the bad revision. Don't care.
      4. git svn fetch -r xx+1 — Works.

    6. Retry the fetch: git svn fetch — Works! Starts to fetch more revisions.

    The process ought to be cleaned up (probably near the first steps), but it worked for me, without having to start again with a fresh clone.

    这篇关于在git svn提取过程中解压一个树对象的致命错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆