Re: More on git over HTTP POST

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: H. Peter Anvin <hpa@...>
Cc: Git Mailing List <git@...>
Date: Saturday, August 2, 2008 - 4:57 pm

"H. Peter Anvin" <hpa@zytor.com> wrote:

I have started to think about this more myself, not just for POST
put also for some form of GET that can return an efficient pack,
rather than making the client walk the object chains itself.

Have you looked at the Mecurial wire protocol?  It runs over HTTP
and uses a relatively efficient means of deciding where to cut the
transfer at.

  http://www.selenic.com/mercurial/wiki/index.cgi/WireProtocol

Most of their smarts are in the branches() and between() operations.

Unfortunately this documentation isn't very complete and/or there
are some simplifications that the Mecurial team took due to their
repository format not initially supporting multiple branches like
the Git format does.


Well, over git:// (or any protocol that wraps git:// like ssh)
we assume a full-duplex channel.  Some proxy systems are able to
do such a channel.  HTTP however does not offer it.


No, the git:// protocol implementation in fetch-pack/upload-pack
runs more efficient than that by keeping a sliding window of stuff
that is in-flight.  Its I guess two async RPCs running in parallel,
but from the client and server perspective both RPCs go into the
same computation.

HTTP POST is actually trivial if you don't want to support the new
tell-me-more extension that was added to git-push.  Hell, I could
write the CGI in a few minutes I think.  Its really just a small
wrapper around git-receive-pack.

What's a bitch is the efficient fetch, and getting tell-me-more to
work on push.

-- 
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
More on git over HTTP POST, H. Peter Anvin, (Fri Aug 1, 5:50 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sat Aug 2, 4:57 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sat Aug 2, 10:56 pm)
Add Git-aware CGI for Git-aware smart HTTP transport, H. Peter Anvin, (Tue Aug 12, 9:56 pm)
Re: Add Git-aware CGI for Git-aware smart HTTP transport, Shawn O. Pearce, (Tue Aug 12, 10:37 pm)
Re: [RFC 2/2] Add Git-aware CGI for Git-aware smart HTTP tra..., Johannes Schindelin, (Mon Aug 4, 6:08 am)
Re: [RFC 2/2] Add Git-aware CGI for Git-aware smart HTTP tra..., Johannes Schindelin, (Mon Aug 4, 6:26 am)
Re: More on git over HTTP POST, Mike Hommey, (Sun Aug 3, 2:43 am)
Re: More on git over HTTP POST, H. Peter Anvin, (Sun Aug 3, 12:01 am)
Re: More on git over HTTP POST, H. Peter Anvin, (Sat Aug 2, 11:51 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sun Aug 3, 12:12 am)
Re: More on git over HTTP POST, H. Peter Anvin, (Sun Aug 3, 7:31 am)
Re: More on git over HTTP POST, Junio C Hamano, (Sat Aug 2, 11:27 pm)
Re: More on git over HTTP POST, H. Peter Anvin, (Sat Aug 2, 11:47 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sun Aug 3, 12:10 am)
Re: More on git over HTTP POST, H. Peter Anvin, (Sun Aug 3, 7:29 am)
Re: More on git over HTTP POST, , (Sun Aug 3, 4:10 am)
Re: More on git over HTTP POST, H. Peter Anvin, (Sun Aug 3, 7:42 am)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sat Aug 2, 11:31 pm)
Re: More on git over HTTP POST, Daniel Stenberg, (Sat Aug 2, 5:00 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sat Aug 2, 5:08 pm)
Re: More on git over HTTP POST, Petr Baudis, (Sat Aug 2, 5:23 pm)
Re: More on git over HTTP POST, Shawn O. Pearce, (Sat Aug 2, 5:32 pm)