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

Re: Doing blobless clone by default; switching between blobless, treeless and full clones by a command

From
Derrick Stolee <stolee@gmail.com>
Date
Sep 4, 2025, 12:19 UTC
Message-ID
<7713256d-e258-4356-b303-128fdb417972@gmail.com>
In-Reply-To
<2ebdff4d-8adf-45d9-8cb5-6d7ee39f218d@app.fastmail.com>
On 9/4/2025 5:41 AM, Kristoffer Haugsbakk wrote:
Show 5 quoted lines
> On Thu, Sep 4, 2025, at 11:33, Дилян Палаузов wrote:
>> • add a git command to download all locally missing history, including 
>> for treeless clones and blobless clones
> 
> This sounds like git-backfill(1).

Indeed, 'git backfill' is intended to assist with downloading the blobs that were not selected in a blobless partial clone.

> I’ve never used blob/treeless.

I don't believe that 'git backfill' is optimized for treeless clones. Treeless clones are not intended for "refilling" as downloading missing trees is particularly expensive.

...

And regarding the original thought for "we should have an option for doing blobless clones by default" the current way to do that is to use 'scalar clone' which is shipped with Git already.

When Scalar was originally contributed to Git, it was partly to enable users to opt-in to a version of 'git clone' that changes behavior with best practices and advanced features as they are developed. This is in contrast to 'git clone' which needs to remain backwards compatible, so any new features need to be selected with an option or config setting.

But there was always the possibility that the feedback from having 'scalar clone' available could lead to a future builtin of the form 'git big-clone' that adds similar optimizations for large repos. (My opinion is that 'scalar clone' _is_ this 'git big-clone' but maybe it is not discoverable enough.)

Thanks, -Stolee

Previous: Kristoffer HaugsbakkNext: Junio C Hamano
Message 3 of 9 in “Doing blobless clone by default; switching between blobless, treeless and full clones by a command”
  1. Дилян ПалаузовSep 4, 2025
  2. Kristoffer HaugsbakkSep 4, 2025
  3. Derrick StoleeSep 4, 2025
  4. Junio C HamanoSep 4, 2025
  5. Patrick SteinhardtSep 5, 2025
  6. Derrick StoleeSep 5, 2025
  7. Patrick SteinhardtSep 5, 2025
  8. Konstantin RyabitsevSep 5, 2025
  9. Ben KnobleSep 7, 2025

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.