Re: Tree with leading '0' modes in 1.7.0.3
- From
A Large Angry SCM <gitzilla@gmail.com>
- Date
- Mar 27, 2010, 19:44 UTC
- Message-ID
- <4BAE601D.6010205@gmail.com>
- In-Reply-To
- <4BAE5EEC.5090804@gmail.com>
A Large Angry SCM wrote:
Show 32 quoted lines
> Shawn O. Pearce wrote: >> A Large Angry SCM <gitzilla@gmail.com> wrote: >>> Shawn O. Pearce wrote: >>>> IMHO, this leading '0' thing is a similar breakage. We shouldn't >>>> relax CGit or JGit to accept it just because the Ruby implementation >>>> of Git got the tree encoding wrong. If anything, we should teach >>>> these implementations to catch these sorts of problems earlier. >>> Just add an additional data point, it looks like up to 16 of these >>> trees with zero-padded file modes are reachable from Linus' kernel >>> master ref. >> >> Frell. >> >> We can't ask Linus to rewrite his history to repair this breakage. >> The fact that its made it into the kernel history means we have >> to accept this. The kernel project is simply too large and move >> too fast for us to ask them to fix their repository history. >> Smaller projects of 1-2 people, we could have gotten away with >> asking them to fix their history. >> >> I guess that answers the questions then. CGit permits this with >> a warning, and must always continue to do that. And JGit needs to >> fix itself to do the same. >> > > Wait a minute, something strange is going on here. > > My combined kernel repository has 16 of these things according to > git-fsck. And when I do 'git-fsck torvalds/linux-2.6/master' I get the > same 16 BUT when I 'git-rev-list --objects torvalds/linux-2.6/master' > they do not appear in the output. >
Ignore my noise until some more checking is done!
My combined repository also includes Scott's progit book and examples repositories. I'm guessing that git-fsck did not limit itself to just the object reachable from the torvalds/linux-2.6/master ref.