From: Jeff King <peff@peff.net>
To: Ilari Liusvaara <ilari.liusvaara@elisanet.fi>
Cc: Nicolas Pitre <nico@fluxnic.net>,
Zenaan Harkness <zen@freedbms.net>,
git@vger.kernel.org
Subject: Re: Resumable clone/Gittorrent (again) - stable packs?
Date: Fri, 7 Jan 2011 16:56:31 -0500 [thread overview]
Message-ID: <20110107215631.GA10343@sigill.intra.peff.net> (raw)
In-Reply-To: <20110107214501.GA29959@LK-Perkele-VI.localdomain>
On Fri, Jan 07, 2011 at 11:45:01PM +0200, Ilari Liusvaara wrote:
> > I'm not clear in your example what ~/repositories/linux-2.6 is. Is it a
> > repo? In that case, isn't that basically the same as --reference? Or is
> > it a local mirror list?
>
> Yes, it is a repo. No, it isn't the same as --reference. It is list
> of mirrors to try first before connecting to final repository and can
> be any type of repository URL (local, true smart transport, smart HTTP,
> dumb HTTP, etc...)
OK, I understand what you mean. I was thrown off by your example using a
local repository (in which case you probably would want --reference to
save disk space, unless the burden of alternates management is too
much).
So yeah, I think we are on the same page, except that you were proposing
to pass the mirror directly, and I was proposing passing a mirror file
which would contain a list of mirrors. Yours is much simpler and would
probably be what people want most of the time.
> > If the latter, then yeah, I think it is a good idea. Clients should
> > definitely be able to ignore, override, or add to mirror lists provided
> > by servers. The server can provide hints about useful mirrors, but it is
> > up to the client to decide which methods are useful to it and which
> > mirrors are closest.
>
> This is essentially adding mirrors to mirror list (modulo that mirrors
> are not assumed to be complete).
I think there should always be an assumption that mirrors are not
necessarily complete. That is necessary for bundle-like mirrors to be
feasible, since updating the bundle for every commit defeats the
purpose.
It would be nice for there to be a way for some mirrors to be marked as
"should be considered complete and authoritative", since we can optimize
out the final check of the master in that case (as well as for future
fetches). But that's a future feature. My plan was to leave space in the
mirror list for arbitrary metadata of that sort.
> > Of course there are some servers who will want to do more than hint
> > (e.g., the gentoo case where they really don't want people cloning from
> > the main machine). For those cases, though, I think it is best to
> > provide the hint and to reject clients who don't follow it (e.g., by
> > barfing on somebody who tries to do a full clone). You have to implement
> > that rejection layer anyway for older clients.
>
> With option like this, a client could do:
>
> git clone --use-mirror=http://git.example.org/base/foo git://git.example.org/foo
>
> To first grab stuff via HTTP (well-packed dumb HTTP is very light on the
> server) and then continue via git:// (now much cheaper because client is
> relatively up to date).
Yes, exactly.
-Peff
next prev parent reply other threads:[~2011-01-07 21:57 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-06 2:29 Resumable clone/Gittorrent (again) - stable packs? Zenaan Harkness
2011-01-06 17:05 ` Shawn Pearce
2011-01-10 16:39 ` John Wyzer
2011-01-10 21:42 ` Sam Vilain
2011-01-11 0:03 ` Nguyen Thai Ngoc Duy
2011-01-11 0:57 ` J.H.
2011-01-11 1:56 ` Nguyen Thai Ngoc Duy
2011-01-06 21:09 ` Nicolas Pitre
2011-01-07 2:36 ` Zenaan Harkness
2011-01-07 4:33 ` Nicolas Pitre
2011-01-07 5:22 ` Jeff King
2011-01-07 5:31 ` Jeff King
2011-01-07 10:04 ` Zenaan Harkness
2011-01-07 18:52 ` Ilari Liusvaara
2011-01-07 19:17 ` Jeff King
2011-01-07 21:45 ` Ilari Liusvaara
2011-01-07 21:56 ` Jeff King [this message]
2011-01-07 22:21 ` Ilari Liusvaara
2011-01-07 22:27 ` Jeff King
2011-01-10 21:07 ` Sam Vilain
2011-01-10 11:48 ` Nguyen Thai Ngoc Duy
2011-01-10 13:50 ` Nicolas Pitre
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=20110107215631.GA10343@sigill.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=ilari.liusvaara@elisanet.fi \
--cc=nico@fluxnic.net \
--cc=zen@freedbms.net \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).