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

Re: Corporate firewall braindamage

From
Shawn O. Pearce <spearce@spearce.org>
Date
Apr 10, 2008, 23:33 UTC
Message-ID
<20080410233328.GQ10274@spearce.org>
In-Reply-To
<7v7if5wbdd.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 18 quoted lines
> "H. Peter Anvin" <hpa@zytor.com> writes:
> > 3. git protocol encapsulated in HTTP POST transaction
> >
> >    git protocol is already fundamentally a RPC protocol, where the
> >    client sends a query and the server responds.  Furthermore, it
> >    tries to minimize the number of round trips (RPC calls), which is
> >    of course desirable.
> >
> >    Each such RPC transaction could be formulated as an HTTP POST
> >    transaction.
> >
> >    This requires modifications to both the client and the server;
> >    furthermore, the server can no longer rely on the invariant "one TCP
> >    connection == one session"; a proxy might break a single session
> >    into arbitrarily many TCP connections.
> 
> It would probably be a one-CS/EE-student-half-a-summer sized project to
> create such a server-side support with a specialized client.

Funny you say that. This was a GSoC 2008 project idea. We even received an application from a student for it.

The hard part is either making the server side stateful, so it can remember what the last RCP call had said it wants/haves, or doing a stateless protocol where the client uses an exponential expansion (or some such behavior) of its have list until the server replies with the pack data.

-- 
Shawn.
Previous: Junio C HamanoNext: H. Peter Anvin
Message 3 of 6 in “Corporate firewall braindamage”
  1. H. Peter AnvinApr 10, 2008
  2. Junio C HamanoApr 10, 2008
  3. Shawn O. PearceApr 10, 2008
  4. H. Peter AnvinApr 10, 2008
  5. H. Peter AnvinApr 11, 2008
  6. david@lang.hmApr 11, 2008

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.