From: Shawn O. Pearce Date: Thu, 10 Apr 2008 23:33:28 GMT Subject: Re: Corporate firewall braindamage Message-ID: <20080410233328.GQ10274@spearce.org> In-Reply-To: <7v7if5wbdd.fsf@gitster.siamese.dyndns.org> Junio C Hamano wrote: > "H. Peter Anvin" 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.