From: Duy Nguyen Date: Mon, 15 Jul 2013 01:01:40 GMT Subject: Re: [PATCH] git-clone.txt: remove the restriction on pushing from a shallow clone Message-ID: In-Reply-To: <7vfvvhgeif.fsf@alter.siamese.dyndns.org> On Mon, Jul 15, 2013 at 1:52 AM, Junio C Hamano wrote: > Duy Nguyen writes: > >> On Sun, Jul 14, 2013 at 4:25 AM, Jonathan Nieder wrote: >>> Hi, >>> >>> Nguyễn Thái Ngọc Duy wrote: >>> >>>> Since 52fed6e (receive-pack: check connectivity before concluding "git >>>> push" - 2011-09-02), receive-pack is prepared to deal with broken >>>> push, a shallow push can't cause any corruption. Update the document >>>> to reflect that. >>> >>> Hmm, what happens when pushing to servers without that commit? Do you >>> think it should be applied to Debian squeeze for server operators that >>> haven't upgraded yet to the current stable release? >> >> This is pushing _from_ a shallow repo, where the sender repo's old >> objects is a subset of the receiver's. > > The "subset" assumption does not necessarily hold, does it? The > receiver may have rewound its tips and pruned since then. > > Also, the sender may have cloned from the receiver (fully) and then > fetched a different history shallowly from elsewhere. The receiver > may have no commit on that history, including the shallow-bottom. > Hmm.. right. And the receiver needs to setup proper graft to seal the shallow bottom. So it's really not safe to do pushing from a shallow repo without 52fed6e -- Duy