Re: [PATCH] Document the underlying protocol used by shallow repositories and --depth commands.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <gitster <at> pobox.com> writes:

> "The same event which was already described in that document" meaning at
> the beginning of "Packfile Negotiation" section?  That is primarily about
> the "ls-remote" that probed the server for the list of current refs, which
> is received in connect.c::get_remote_heads(), but it also covers another
> case. When fetching, after connect.c::get_remote_heads() finds the list of
> current refs, do_fetch_pack() is called, and then everything_local() in it
> checks if we have all the objects we are going to ask. If so, we flush and
> jump to all_done to terminate the connection, skipping find_common(),
> without doing any of the want/shallow/depth/etc.
> 
> I don't seem to be able to find where in find_common() and its callee we
> could quit without telling the server anything (unless we crash . Even
> if get_rev() loop finds nothing, we would at least say "done".
> 

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? 

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]