From: Jan Hudec <bulb@ucw.cz>
To: Joel Becker <Joel.Becker@oracle.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Matthieu Moy <Matthieu.Moy@imag.fr>,
git@vger.kernel.org
Subject: Re: Smart fetch via HTTP?
Date: Sun, 20 May 2007 12:30:10 +0200 [thread overview]
Message-ID: <20070520103010.GA27087@efreet.light.src> (raw)
In-Reply-To: <20070518215607.GT24644@ca-server1.us.oracle.com>
[-- Attachment #1: Type: text/plain, Size: 2000 bytes --]
On Fri, May 18, 2007 at 14:56:07 -0700, Joel Becker wrote:
> On Fri, May 18, 2007 at 01:13:36PM -0700, Linus Torvalds wrote:
> > If it's _just_ the initial GET/CONNECT strings, yeah, we could probably
> > easily make the git-daemon just ignore them. That shouldn't be a problem.
> >
> > But if there's anything *else* required, it gets uglier much more quickly.
>
> With CONNECT, there isn't anything. That is, your
> GIT_PROXY_COMMAND handles talking to the proxy, then gives git itself a
> raw data pipe. My proxy allows CONNECT to 9418, and that's how I use it
> today.
Yes. Connect is easy. However many companies only allow CONNECT to 443
(not that it's much more secure than allowing it anywhere, but at least it
has to block CONNECT to 25 to block sending spam).
> If you tried to make POST work (It'd be POST, not GET, as you
> need to connect up the sending side), either apache would have to front
> it for us, or "git-daemon --http" would have to accept the HTTP headers
> on before the input, and output a proper HTTP response before sending
> output. Seeing the headers would allow for us to vhost, even.
> Hmm, but the proxy may not allow two-way communication. Does
> the git protocol have more than one round-trip? That is:
>
> Client:
> POST http://server.git.host:80/projects/thisproject HTTP/1.1
> Host: server.git.host
>
> fetch-pack <sha1>
> EOF
>
> Server:
> 200 OK HTTP/1.1
>
> <data>
> EOF
>
> should work, I'd think.
Well, that does not require git at all -- apache can handle this all right.
But it's not network-efficient. To be network-efficient, it is necessary to
negotiate the list of objects that need to be send. And that requires more
than one round-trip. Additionally, the current git protocol is streaming --
the client sends data without waiting for the server. So it would require
slightly different protocol over HTTP.
--
Jan 'Bulb' Hudec <bulb@ucw.cz>
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2007-05-20 10:30 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-15 20:10 Smart fetch via HTTP? Jan Hudec
2007-05-15 22:30 ` A Large Angry SCM
2007-05-15 23:29 ` Shawn O. Pearce
2007-05-16 0:38 ` Junio C Hamano
2007-05-16 5:25 ` Martin Langhoff
2007-05-16 11:33 ` Johannes Schindelin
2007-05-16 21:26 ` Martin Langhoff
2007-05-16 21:54 ` Jakub Narebski
2007-05-17 0:52 ` Johannes Schindelin
2007-05-17 1:03 ` Shawn O. Pearce
2007-05-17 1:04 ` david
2007-05-17 1:26 ` Shawn O. Pearce
2007-05-17 1:45 ` Shawn O. Pearce
2007-05-17 12:36 ` Theodore Tso
2007-05-17 3:45 ` Nicolas Pitre
2007-05-17 10:48 ` Johannes Schindelin
2007-05-17 14:41 ` Nicolas Pitre
2007-05-17 15:24 ` Martin Langhoff
2007-05-17 15:34 ` Nicolas Pitre
2007-05-17 20:04 ` Jan Hudec
2007-05-17 20:31 ` Nicolas Pitre
2007-05-17 21:00 ` david
2007-05-18 9:01 ` Johannes Schindelin
2007-05-18 17:51 ` Jan Hudec
2007-05-17 11:28 ` Matthieu Moy
2007-05-17 13:10 ` Martin Langhoff
2007-05-17 13:47 ` Johannes Schindelin
2007-05-17 14:05 ` Matthieu Moy
2007-05-17 14:09 ` Martin Langhoff
2007-05-17 15:01 ` Nicolas Pitre
2007-05-17 23:14 ` Jakub Narebski
2007-05-17 14:50 ` Nicolas Pitre
2007-05-17 12:40 ` Petr Baudis
2007-05-17 12:48 ` Matthieu Moy
2007-05-18 18:27 ` Linus Torvalds
2007-05-18 18:33 ` alan
2007-05-18 19:01 ` Joel Becker
2007-05-18 20:06 ` Matthieu Moy
2007-05-18 20:13 ` Linus Torvalds
2007-05-18 21:56 ` Joel Becker
2007-05-20 10:30 ` Jan Hudec [this message]
2007-05-19 0:50 ` david
2007-05-19 3:58 ` Shawn O. Pearce
2007-05-19 4:58 ` david
2007-05-17 20:26 ` Jan Hudec
2007-05-17 20:38 ` Nicolas Pitre
2007-05-18 17:35 ` Jan Hudec
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070520103010.GA27087@efreet.light.src \
--to=bulb@ucw.cz \
--cc=Joel.Becker@oracle.com \
--cc=Matthieu.Moy@imag.fr \
--cc=git@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.