From: Avery Pennarun Date: Fri, 26 Mar 2010 23:56:01 GMT Subject: Re: Tree with leading '0' modes in 1.7.0.3 Message-ID: <32541b131003261656h430d77a8q753c6141297e8f86@mail.gmail.com> In-Reply-To: <7v7hoyabiv.fsf@alter.siamese.dyndns.org> On Fri, Mar 26, 2010 at 7:50 PM, Junio C Hamano wrote: > "Shawn O. Pearce" writes: > >> Scott, please fix that library on GitHub.  JGit's fsck has a hard >> failure on these malformed trees, because the leading '0' mode >> causes the tree to come up with the wrong SHA-1 hash given its >> logical content.  They shouldn't be created like this. > > What is curious is that even though 6407180 (git-fsck-cache: be stricter > about "tree" objects, 2005-07-27) does talk about zero-padding, it appears > that we never had a version of git that padded mode in '0' in the entire > history of write-tree (except that "notes tree" one, but even that didn't > escape the laboratory). It's apparently an easy mistake to make. bup did this for a while until I added a 'git fsck' to its automated tests :) The problem is that everything in git works perfectly with these invalid file modes *except* fsck, and there's rarely a need to run fsck, so this problem can hide for a long time. Have fun, Avery