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

Re: [RFC PATCH] Reduce the number of connects when fetching

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 6, 2007, 05:03 UTC
Message-ID
<7vir4gj78b.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<Pine.LNX.4.64.0711052150340.7357@iabervon.org>
Daniel Barkalow <barkalow@iabervon.org> writes:
Show 12 quoted lines
> On Mon, 5 Nov 2007, Junio C Hamano wrote:
>
>> The upload-pack protocol goes "S: here are what I have, C: I
>> want these, C: I have these, S: ok, continue, C: I have these,
>> S: ok, continue, C: I have these, S: ok, I've heard enough, C:
>> done, S: packfile is here", so after packfile generation starts
>> there is nothing further the downloader can say.
>> 
>> Otherwise you would be able to do the tag following using the
>> same connection, but that is unfortunately not a case.
>
> It would be nice if this could continue...

You would need a protocol extension for this, as the protocol defines all the remainder after the have-ack exchange to be intended for unpack-objects, not just the data for a single pack that immediately follows the exchange. Mysteriously, unpack-objects even has code to write out the remainder after the pack data.

The protocol extension would probably need to depend on the existence of sideband. Make the sending side signal the end of the pack data over the sideband after sending a pack, and then both sides can go back to the "C: I want these too, S: Ok, here it is" exchange. You may optionally want to do another have-ack exchange here, but for the purpose of tag following I suspect there is no need for that.

Previous: Daniel BarkalowNext: Johannes Sixt
Message 4 of 6 in “Reduce the number of connects when fetching”
  1. Reduce the number of connects when fetchingDaniel Barkalow, Nov 4, 2007
  2. Junio C HamanoNov 6, 2007
  3. Daniel BarkalowNov 6, 2007
  4. Junio C HamanoNov 6, 2007
  5. Johannes SixtNov 6, 2007
  6. Junio C HamanoNov 6, 2007

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.