On Wed, Feb 03, 2016 at 11:23:21AM +0100, Stéphane Gourichon wrote: > Reproduced today on Debian 7.9 Amd64, git 1:1.9.1-1~bpo70+2, > which means that the repository was not fixed in between.
Why would it have been "fixed", when that means changing the tree sha1, and the commit sha1 of the first commit containing this tree, and all the child commits? > LC_ALL=C git -c transfer.fsckobjects=true clone > https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware > > Cloning into 'linux-firmware'... > remote: Counting objects: 3966, done. > remote: Total 3966 (delta 0), reused 0 (delta 0) > error: object 087fbb748f50af6eac2248a445d25d666cc92c78:contains zero-padded > file modes > fatal: Error in object > fatal: index-pack failed Note that what this error means is that that tree contains modes like 040000 instead of 40000. In practice, it doesn't matter, and the tree was likely generated with some tool using a dulwich version that left zero-padding on modes or something like that. Git itself, afaict from a quick glance at the history of cache-tree.c never created such objects (it's always used %o for the mode) ; and in fact, it looks like it can't be dulwich either, which always used %04o (which doesn't pad for 40000). So it must be some other tool. Mike