All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: Zenaan Harkness <zen@freedbms.net>
Cc: git@vger.kernel.org
Subject: Re: git fails on large repo clone on intermittent, or intermittently-high-latency, connections
Date: Wed, 05 Jan 2011 07:26:31 -0800 (PST)	[thread overview]
Message-ID: <m3tyhnbcf7.fsf@localhost.localdomain> (raw)
In-Reply-To: <AANLkTinkhmHpAQjraviKjqFAczThR5GtT_qdyf6Sb3nm@mail.gmail.com>

Zenaan Harkness <zen@freedbms.net> writes:

> Hi, I am trying to clone opentaps.git. The following is my third try,
> and I am giving up now. As you can see I pressed <Return> every now
> and then, and for the last long while, absolutely nothing downloading
> - the connection has clearly died once again. My last run was
> yesterday and I left it run overnight.
> 
> I cannot download (with a git clone/ initial repo), more than roughly
> 100MiB. I am on a satellite connection. I have also experienced this
> with wireless connection about 18 months ago.
> 
> I have in the middle there (a few months ago) spent a couple months at
> a friend's place, and never had the same problem - nice ADSL2+
> connection, ~1.5MiB/s connections. As you can see with my satellite
> (rural) and also with my older wireless (also rural) connections, I do
> not get more than about 64KiB/s, but it's usually slower, and I've
> always had satellite latency issues in the order of 450ms, and
> sometimes the odd dropout.
> 
> As opposed to git, wget on the other hand not only retries and
> continues from where it left off when it retries (HTTP protocol)
> (default retry 10 times I think), but I can completely INTerrupt wget,
> and start it again from an entirely different computer if I want
> (using wget's --continue option), and it will (with HTTP) happily
> continue right where it left off, and eventually my download
> completes.

[...]
> What can I do to work around my flaky link?

Ask project in question to provide bundle of repository for seeding
initial clone (see git-bundle manpage); this is an ordinary file, and
can be downloaded via HTTP or even P2P.

> 
> How hard would it be to add a wget-like mode to git, for the initial
> repo download?

Very hard; tthough "resumable clone" was often requested (25%
responders in "Git User's Survey 2010", see [1]), and there was even
some discussion about possible implementation, it was not implemented
yet, even as proof of concept.

The trouble is that packfile is *generated for a client*, and
bit-for-bit representation of said pack can vary (e.g. if
multithreaded packing is enabled; usually a good idea).

[1]: https://git.wiki.kernel.org/index.php/GitSurvey2010#17._Which_of_the_following_features_would_you_like_to_see_implemented_in_git.3F

-- 
Jakub Narebski
Poland
ShadeHawk on #git

  reply	other threads:[~2011-01-05 15:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-05 14:28 git fails on large repo clone on intermittent, or intermittently-high-latency, connections Zenaan Harkness
2011-01-05 15:26 ` Jakub Narebski [this message]
2011-01-05 17:54   ` Jonathan Nieder
2011-01-05 20:00     ` Jakub Narebski
2011-01-09 20:04 ` James Cloos

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=m3tyhnbcf7.fsf@localhost.localdomain \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --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 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.