git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Derrick Stolee <stolee@gmail.com>
To: "Kristoffer Haugsbakk" <kristofferhaugsbakk@fastmail.com>,
	"Дилян Палаузов" <dilyan.palauzov@aegee.org>,
	git <git@vger.kernel.org>
Subject: Re: Doing blobless clone by default; switching between blobless, treeless and full clones by a command
Date: Thu, 4 Sep 2025 08:19:59 -0400	[thread overview]
Message-ID: <7713256d-e258-4356-b303-128fdb417972@gmail.com> (raw)
In-Reply-To: <2ebdff4d-8adf-45d9-8cb5-6d7ee39f218d@app.fastmail.com>

On 9/4/2025 5:41 AM, Kristoffer Haugsbakk wrote:
> 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


  reply	other threads:[~2025-09-04 12:20 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-04  9:33 Doing blobless clone by default; switching between blobless, treeless and full clones by a command Дилян Палаузов
2025-09-04  9:41 ` Kristoffer Haugsbakk
2025-09-04 12:19   ` Derrick Stolee [this message]
2025-09-04 16:47     ` Junio C Hamano
2025-09-05 12:23     ` Patrick Steinhardt
2025-09-05 13:40       ` Derrick Stolee
2025-09-05 14:30         ` Patrick Steinhardt
2025-09-05 14:49 ` Konstantin Ryabitsev
2025-09-07 19:42 ` Ben Knoble

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=7713256d-e258-4356-b303-128fdb417972@gmail.com \
    --to=stolee@gmail.com \
    --cc=dilyan.palauzov@aegee.org \
    --cc=git@vger.kernel.org \
    --cc=kristofferhaugsbakk@fastmail.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;
as well as URLs for NNTP newsgroup(s).