8

Someone made a commit on the wrong branch so I tried to move the commit to another branch. When I tried to roll back the commit, I got this error:

[user@server gitrepo]$ git reset --hard 9c2de3c0 fatal: unable to read tree 9c2de3c0af09fc07a84ff84b594beb5a6d489181 

The object looks fine:

[user@server gitrepo]$ ls objects/9c/2de3c* -al -r--r--r-- 1 git git 222 Aug 28 12:09 objects/9c/2de3c0af09fc07a84ff84b594beb5a6d489181 

Why can't it read this object, and what do I do about that?

Edit: to distinguish my problem from others:

  • Git's database doesn't appear to be particularly out of sorts. Running git fsck -full shows only a few (~20) dangling blobs and one dangling commit. Which does not seem particularly alarming.
7
  • @Gabriele: I looked at that post, but that question, and it's answer, pertain to a broken link from commit. I have no such error when I run git fsck. Commented Aug 29, 2013 at 16:54
  • 1) what does git cat-file -t 9c2de3c0 show? 2) what does git cat-file -p 9c2de3c0 show? (I suspect at least one will also fail, but it's worth a quick poke at it) Commented Aug 29, 2013 at 18:54
  • @torek - 1) git cat-file -t 9c2de3c0 = 'commit' 2) git cat-file -p 9c2de3c0 = my message, 'MODULE: added similarterms (MM)' Commented Aug 29, 2013 at 20:10
  • Hm, what about the "tree" and "parents" parts (in the -p output)? If you follow those IDs do they work? Commented Aug 29, 2013 at 20:16
  • Did you follow git.wiki.kernel.org/index.php/… ? Commented Aug 30, 2013 at 11:35

1 Answer 1

2

I've got the same problem. Solved it by checking and fixing disk. Some files were corrupted.

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.