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$(echo .)org \
--cc=bulb@ucw$(echo .)cz \
--cc=git@vger$(echo .)kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox