Thread (8 messages) 8 messages, 6 authors, 2025-09-07

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

From: Derrick Stolee <hidden>
Date: 2025-09-04 12:20:23

On 9/4/2025 5:41 AM, Kristoffer Haugsbakk wrote:
On Thu, Sep 4, 2025, at 11:33, Дилян Палаузов wrote:
quoted
• 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help