git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: rogue tree objects, how to diagnose?

From
Jeff King <peff@peff.net>
Date
Mar 1, 2009, 03:20 UTC
Message-ID
<20090301032035.GB30384@coredump.intra.peff.net>
In-Reply-To
<20090228.191206.75012167.davem@davemloft.net>
On Sat, Feb 28, 2009 at 07:12:06PM -0800, David Miller wrote:
Show 9 quoted lines
> From git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
>  * branch            master     -> FETCH_HEAD
> fatal: unable to read tree c9ee57c5c20c3b7a2d7784a4172aef8b34c3a844
> davem@sunset:~/src/GIT/net-next-2.6$ git show c9ee57c5c20c3b7a2d7784a4172aef8b34c3a844
> fatal: bad object c9ee57c5c20c3b7a2d7784a4172aef8b34c3a844
> davem@sunset:~/src/GIT/net-next-2.6$ 
> 
> Now, what's funny is that this tree object does exist in my
> tree on master.kernel.org:

"bad object" is about an object that did not parse correctly, as opposed to one that is missing. So it's possible that your repository is corrupted.

> I don't understand how this can happen, and I'd like to be able
> to diagnose this intelligently.

I'm not up on the latest techniques for verifying and fixing corruption. But I think with recent enough git, you can grab a good copy of the object from another repo and put it in

  .git/objects/c9/ee57c5c20c3b7a2d7784a4172aef8b34c3a844
that git would do the right thing.
> So, what is an easy way to figure out what commit references tree
> object X?
Try:
  git log --all --pretty=format:'%H %T' | grep c9ee57c5c | cut -d' ' -f1
keeping in mind that there may be multiple such commits.
-Peff
Previous: David MillerNext: David Miller
Message 2 of 8 in “rogue tree objects, how to diagnose?”
  1. David MillerMar 1, 2009
  2. Jeff KingMar 1, 2009
  3. David MillerMar 1, 2009
  4. Jeff KingMar 1, 2009
  5. David MillerMar 1, 2009
  6. David MillerMar 1, 2009
  7. Junio C HamanoMar 1, 2009
  8. David MillerMar 1, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.