git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] clone, progress: add --no-turtle-speed option to abort slow clones

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Mar 7, 2026, 01:34 UTC
Message-ID
<aauAjQhhh7pxIxjD@fruit.crustytoothpaste.net>
In-Reply-To
<CAK7947n9gqhRoykNUR4NvPFiaCB4nuotxQTT=eftSF8O9ZO2rg@mail.gmail.com>
On 2026-03-07 at 00:29:18, Mike Banon wrote:
Show 16 quoted lines
> Brian, thank you very much for your code review!
> 
> This problem has been happening to me for a couple of weeks while
> using GitHub: as a part of my "floppinux-amd64net" pet project (2.88
> MB Linux floppy image with Ethernet/WiFi – for putting into a coreboot
> BIOS image), I wrote a large [1] script that clones a lot of GitHub
> repositories and builds everything from scratch. With some non-zero
> probability (floating between 5%–30% depending on day/location and
> other unknown factors), my git clone operation gets directed to a
> really slow Git server with around ~70 KiB/s download speed, which is
> especially painful if it tries to clone some large repo like a
> linux-firmware. But if I terminate that git clone and start it again,
> there is a good chance that my next connection will be fast (at least
> a few MiB/s). So with the bash code like [2] below – in case of a slow
> connection, it will simply restart until it gets a fast server and
> clones successfully.

GitHub doesn't throttle speeds once the operation starts, although it sometimes does delay the _start_ of an operation if there's excessive use (for example, if you're cloning the same repository too many times, as in some automated systems). GitHub wants the operation to complete as quickly as possible once it starts because a clone or fetch will take the same CPU and memory resources no matter how long it's running and obviously freeing those resources faster is better than consuming them for longer periods (since then they can be used for other users).

If you're seeing this, I'd recommend opening a ticket at GitHub and including the output at https://github-debug.com/, since that will be helpful in troubleshooting the problem. For instance, it may be that there's a bad connection between your ISP and GitHub and that can be addressed. Or, if there is an overloaded server impacting things, that would be a thing that GitHub would want to look into.

If you can capture the problem with `GIT_TRACE=1 GIT_TRANSFER_TRACE=1 GIT_CURL_VERBOSE=1` before your Git command and you include that output and the repository you're having problems with, then that will allow GitHub to look up the request by its ID and find what's going on.

My participation in the list from this email address is in my personal capacity and my personal capacity alone, but I do work on the Git services at GitHub and obviously we want everyone to have a good experience provided they're using a reasonable amount of resources and otherwise behaving appropriately.

Of course, I think people would still find the `--min-speed` patch useful, but my hope is that it's not a feature you'll need to make use of.

-- 
brian m. carlson (they/them)
Toronto, Ontario, CA
Previous: Mike BanonNext: Richard Kerry
Message 4 of 5 in “clone, progress: add --no-turtle-speed option to abort slow clones”
  1. clone, progress: add --no-turtle-speed option to abort slow clonesMike Banon, Mar 6, 2026
  2. brian m. carlsonMar 6, 2026
  3. Mike BanonMar 7, 2026
  4. brian m. carlsonMar 7, 2026
  5. Richard KerryMar 9, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.