From: Junio C Hamano Date: Tue, 07 Jun 2011 22:05:00 GMT Subject: Re: [PATCH] Document the underlying protocol used by shallow repositories and --depth commands. Message-ID: <7vr57547sj.fsf@alter.siamese.dyndns.org> In-Reply-To: Alex Neronskiy writes: > The part of the document I'm referring to starts at line 221 and reads: > > Once all the "want"s (and optional 'deepen') are transferred, > clients MUST send a flush-pkt. If the client has all the references > on the server, client flushes and disconnects. > > And I believe this refers to the code path beginning at line 308 of fetch-pack.c: > > if (!fetching) { > strbuf_release(&req_buf); > packet_flush(fd[1]); > return 1; > } > > Am I wrong? Ah, I overlooked that codepath, but if that if statement triggered, that would mean fetching is still 0, which in turn means that you never sent any "want", so "Once all the 'want's' (and optional 'deepen') are transferred" is not even true, is it?