From: Junio C Hamano Date: Tue, 04 Mar 2008 19:57:14 GMT Subject: Re: [PATCH] fsck.c: fix bogus "empty tree" check Message-ID: <7vfxv65kkl.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20080304152635.40451f7c.vsu@altlinux.ru> Sergey Vlasov writes: >> I'll revert the following two commits for now: >> >> d5ef408 (unpack-objects: prevent writing of inconsistent objects) >> 28f72a0 (receive-pack: use strict mode for unpacking objects) >> >> as I have verified that running with receive.fsckobjects set to false >> fixes the issues for me, and the repository at the receiving end (both >> before and after the push) pass git-fsck without problems. Needless to >> say, I am not a happy camper right now. > > This part of commit d5ef408 changes is bogus: > >> @@ -144,9 +205,36 @@ static void added_object(unsigned nr, enum object_type type, >> static void write_object(unsigned nr, enum object_type type, >> void *buf, unsigned long size) >> { >> - if (write_sha1_file(buf, size, typename(type), obj_list[nr].sha1) < 0) >> - die("failed to write object"); >> added_object(nr, type, buf, size); > > The write_sha1_file() call here was calculating obj_list[nr].sha1; now > it is removed, but added_object() needs this value: Thanks, somehow I missed that when merging it up for 'next'. > However, I do not have time to create a proper test case for this. That's Ok. What we need is a fix but it is not that urgent as the stuff is now reverted for now. Sorry for being a sloppy maintainer. I have to admit that I did not read every single line of patches in a few topics merged to 'master' recently, due to workload pressure, and some extra eyeballs after-the-fact are greatly appreciated.