public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Mike Banon <mikebdp2@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] clone, progress: add --no-turtle-speed option to abort slow clones
Date: Fri, 6 Mar 2026 23:29:46 +0000	[thread overview]
Message-ID: <aatjasMiPIeT0s27@fruit.crustytoothpaste.net> (raw)
In-Reply-To: <CAK7947msLiGgrYTcg1m3ew+bP0F+VNbRaTy=ZW7zkkHh69bN0Q@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2217 bytes --]

On 2026-03-06 at 22:14:28, Mike Banon wrote:
> When cloning large repositories from a website with multiple Git servers,
> the client may be directed to a "turtle-slow" server, causing the transfer
> to proceed at an unusably slow speed. This can lead to stalled downloads,
> particularly problematic for automated scripts that clone many
> repositories. This option makes Git abort the clone if the download rate
> falls below 128 KiB/s while receiving objects, typically catching slow
> servers early in the transfer, enabling scripts to retry the clone until
> they obtain a fast connection.

I'm not aware of any servers that this option would be useful for, but
I'm willing to assume for the sake of argument that some exist with this
design.  I don't think it's a very good design, but I admit that there
are many things on the Internet that are poorly designed.

I think it would be more helpful to provide an option
`--min-speed=128KiB` or something.  Assuming Git is still around in a
decade, we might consider 10 MiB/s to be absurdly slow then and an
option that hard-coded the slow speed would be decidedly less useful.
Many users might have different speeds that would be more tailored to
their environment even now.

I also think that the word "turtle" in this context might be poorly
understood by people who are not native English speakers.  I agree that
turtles are typically thought of as slow creatures, but they may
epitomize other traits in other languages or cultures (such as wisdom or
longevity[0]) that might not bring to mind slowness.

In addition, I would think we'd want to update the manual page as well.
My guess is that CI would have caught the fact that the option was not
present in the manual page.

I didn't give extensive review to the design, but I would think passing
an option to the child process or using some sort of option message
(such as in the HTTP helper) would be better than passing an environment
variable if that's possible.  If it's not, perhaps the commit message
could explain why that wouldn't work.

[0] https://en.wikipedia.org/wiki/Cultural_depictions_of_turtles
-- 
brian m. carlson (they/them)
Toronto, Ontario, CA

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

  reply	other threads:[~2026-03-06 23:29 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-06 22:14 [PATCH] clone, progress: add --no-turtle-speed option to abort slow clones Mike Banon
2026-03-06 23:29 ` brian m. carlson [this message]
2026-03-07  0:29   ` Mike Banon
2026-03-07  1:34     ` brian m. carlson
2026-03-09  9:31   ` Richard Kerry

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=aatjasMiPIeT0s27@fruit.crustytoothpaste.net \
    --to=sandals@crustytoothpaste.net \
    --cc=git@vger.kernel.org \
    --cc=mikebdp2@gmail.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