From: Michael Haggerty <mhagger@alum.mit.edu>
To: Shawn Pearce <spearce@spearce.org>
Cc: "Jeff King" <peff@peff.net>, "Duy Nguyen" <pclouds@gmail.com>,
"zhifeng hu" <zf@ancientrocklab.com>,
"Karsten Blees" <karsten.blees@gmail.com>,
"Trần Ngọc Quân" <vnwildman@gmail.com>,
"Git Mailing List" <git@vger.kernel.org>
Subject: Re: How to resume broke clone ?
Date: Thu, 05 Dec 2013 14:21:09 +0100 [thread overview]
Message-ID: <52A07DC5.5090508@alum.mit.edu> (raw)
In-Reply-To: <CAJo=hJuRz9Qc8ztQATkEs8huDfiANMA6gZEOapoofVdoY82k4g@mail.gmail.com>
This discussion has mostly been about letting small Git servers delegate
the work of an initial clone to a beefier server. I haven't seen any
explicit mention of the inverse:
Suppose a company has a central Git server that is meant to be the
"single source of truth", but has worldwide offices and wants to locate
bootstrap mirrors in each office. The end users would not even want to
know that there are multiple servers. Hosters like GitHub might also
encourage their big customers to set up bootstrap mirror(s) in-house to
make cloning faster for their users while reducing internet traffic and
the burden on their own infrastructure. The goal would be to make the
system transparent to users and easily reconfigurable as circumstances
change.
One alternative would be to ask users to clone from their local mirror.
The local mirror would give them whatever it has, then do the
equivalent of a permanent redirect to tell the client "from now on, use
the central server" to get the rest of the initial clone and for future
fetches. But this would require users to know which mirror is "local".
A better alternative would be to ask users to clone from the central
server. In this case, the central server would want to tell the clients
to grab what they can from their local bootstrap mirror and then come
back to the central server for any remainders. The trick is that which
bootstrap mirror is "local" would vary from client to client.
I suppose that this could be implemented using what you have discussed
by having the central server direct the client to a URL that resolves
differently for different clients, CDN-like. Alternatively, the central
Git server could itself look where a request is coming from and use some
intelligence to redirect the client to the closest bootstrap mirror from
its own list. Or the server could pass the client a list of known
mirrors, and the client could try to determine which one is closest (and
reachable!).
I'm not sure that this idea is interesting, but I just wanted to throw
it out there as a related use case that seems a bit different than what
you have been discussing.
Michael
--
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/
next prev parent reply other threads:[~2013-12-05 13:28 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-28 3:13 How to resume broke clone ? zhifeng hu
2013-11-28 7:39 ` Trần Ngọc Quân
2013-11-28 7:41 ` zhifeng hu
2013-11-28 8:14 ` Duy Nguyen
2013-11-28 8:35 ` Karsten Blees
2013-11-28 8:50 ` Duy Nguyen
2013-11-28 8:55 ` zhifeng hu
2013-11-28 9:09 ` Duy Nguyen
2013-11-28 9:29 ` Jeff King
2013-11-28 10:17 ` Duy Nguyen
2013-11-28 19:15 ` Shawn Pearce
2013-12-04 20:08 ` Jeff King
2013-12-05 6:50 ` Shawn Pearce
2013-12-05 13:21 ` Michael Haggerty [this message]
2013-12-05 15:11 ` Shawn Pearce
2013-12-05 16:12 ` Jeff King
2013-12-05 16:04 ` Jeff King
2013-12-05 18:01 ` Junio C Hamano
2013-12-05 19:08 ` Jeff King
2013-12-05 20:28 ` [PATCH] pack-objects: name pack files after trailer hash Jeff King
2013-12-05 21:56 ` Shawn Pearce
2013-12-05 22:59 ` Junio C Hamano
2013-12-06 22:18 ` Jeff King
2013-12-16 7:41 ` Michael Haggerty
2013-12-16 19:04 ` Jeff King
2013-12-16 19:19 ` Jonathan Nieder
2013-12-16 19:28 ` Jeff King
2013-12-16 19:37 ` Junio C Hamano
2013-12-16 19:33 ` Junio C Hamano
2013-12-16 19:35 ` Jeff King
2013-11-28 9:20 ` How to resume broke clone ? Tay Ray Chuan
2013-11-28 9:29 ` zhifeng hu
2013-11-28 19:35 ` Shawn Pearce
2013-11-28 21:54 ` Jakub Narebski
-- strict thread matches above, loose matches on Subject: below --
2013-11-28 8:32 Max Kirillov
2013-11-28 9:12 ` Jeff King
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=52A07DC5.5090508@alum.mit.edu \
--to=mhagger@alum.mit.edu \
--cc=git@vger.kernel.org \
--cc=karsten.blees@gmail.com \
--cc=pclouds@gmail.com \
--cc=peff@peff.net \
--cc=spearce@spearce.org \
--cc=vnwildman@gmail.com \
--cc=zf@ancientrocklab.com \
/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).