Subject: Re: Shallow clone support in v3.0 and beyond?

From: Patrick Steinhardt <[email-masked]>
Date: Wed, 10 Sep 2025 13:08:15 +0200

Hi,

On Tue, Aug 26, 2025 at 06:34:02AM +0700, Bagas Sanjaya wrote:
> Hi,
> 
> Askar Safin <[email-masked]> posted on the ML about his complaints
> regarding grafts removal in v3.0+ (see [1] for the full thread). He also
> briefly mentioned future of shallow clones (aka git clone --depth=1).
> 
> The question is: If grafts support is removed, then how can shallow clones
> be implemented in terms of git-replace(1)? What about its implementation
> details? How about unshallowing (git fetch --unshallow)?
> 
> Thanks.
> 
> [1]: https://lore.kernel.org/git/[email-masked]/T/#t

I think the BreakingChanges document could use a revamp in that regard.
The mechanism used to implement shallow clones is of course _not_ going
away, and the internal mechanism to facilitate this will go away.

So the intention really only to remove ".git/info/grafts" as a
user-visible mechanism. Users should exclusively use git-replace(1).

Patrick