Re: Doing blobless clone by default; switching between blobless, treeless and full clones by a command
From: Ben Knoble <hidden>
Date: 2025-09-07 19:42:44
Le 4 sept. 2025 à 05:37, Дилян Палаузов [off-list ref] a écrit : Hello, Rationale: The reason people execute git clone is hardly to issue immediately afterwards git log or git annotate.
Maybe for you, and maybe in many contexts, but I also frequently clone things to run various history spelunking searches on them.
The reason for git clone is to (try changing something and then) build the software. (Provided that git manages source code.) Doing by default a reduced data download with git clone will sped up the initialization, it will save bytes in transit and reduce server load. In fact I think that by default (without extra configuration) git clone should do a reduced download (blobless) and git should download the other things, when asked to do so.
Absolutely not (in my opinion, :p). Not having the entire repository available except when connected to a network defeats the tremendous advantage of distributed version control. Namely, privileged forks are given status by social agreement, not technical requirement. I want the whole repository available independently.
This default download preference should be ideally managed by an option in global gitconfig . When looking at https://git-scm.com/docs/git-config for “filter” I do not recognize anything relevant.
This seems more moderated and achievable. If you would prefer to clone less by default (I would not), go for it. I mostly don’t work with repos where this matters, though, or where git-maintenance doesn’t do most of the job I need after a 1-time setup cost. I do chastise folks for mis-managing large binary files in history that create large blobs and clone times, though :)