From: "Shawn O. Pearce" <spearce@spearce.org>
To: Jan Hudec <bulb@ucw.cz>
Cc: git@vger.kernel.org
Subject: Re: Smart fetch via HTTP?
Date: Tue, 15 May 2007 19:29:47 -0400 [thread overview]
Message-ID: <20070515232946.GR3141@spearce.org> (raw)
In-Reply-To: <20070515201006.GD3653@efreet.light.src>
Jan Hudec <bulb@ucw.cz> wrote:
> Did anyone already think about fetching over HTTP working similarly to the
> native git protocol?
No work has been done on this (that I know of) but I've discussed
it to some extent with Simon 'corecode' Schubert on #git, and I
think he also brought it up on the mailing list not too long after.
I've certainly thought about adding some sort of pack-objects
frontend into gitweb.cgi for this exact purpose. It is really
quite easy, except for the negotation of what the client has. ;-)
> Than a question is how to implement it. The current protocol is stateful on
> both sides, but the stateless nature of HTTP more or less requires the
> protocol to be stateless on the server.
>
> I think it would be possible to use basically the same protocol as now, but
> make it stateless for server. That is server first sends it's heads and than
> client repeatedly sends all it's wants and some haves until the server acks
> all of them and sends the pack.
I think Simon was talking about doubling the number of haves the
client sends in each request. So the client POSTs initially all
of its current refs; then current refs and their parents; then 4
commits back, then 8, etc. The server replies to each POST request
with either a "send more please" or the packfile.
--
Shawn.
next prev parent reply other threads:[~2007-05-15 23:29 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 [this message]
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
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=20070515232946.GR3141@spearce.org \
--to=spearce@spearce.org \
--cc=bulb@ucw.cz \
--cc=git@vger.kernel.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.