git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
ANAlex Neronskiy <zakmagnus@google.com>
Date
Jun 7, 2011, 20:47 UTC
Message-ID
<loom.20110607T224355-216@post.gmane.org>
In-Reply-To
<7v1uz55r24.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster <at> pobox.com> writes:
Show 14 quoted lines
> "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? 
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 8 in “Document the underlying protocol used by shallow repositories and --depth commands.”
  1. Document the underlying protocol used by shallow repositories and --depth commands.Alexander Neronskiy, Jun 6, 2011
  2. Junio C HamanoJun 6, 2011
  3. Alex NeronskiyJun 6, 2011
  4. Junio C HamanoJun 7, 2011
  5. Alex NeronskiyJun 7, 2011
  6. Junio C HamanoJun 7, 2011
  7. Alex NeronskiyJun 7, 2011
  8. Junio C HamanoJun 7, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.