Subject: Re: When should we release Git 3.0?

From: Michal Suchánek <[email-masked]>
Date: Thu, 2 Oct 2025 15:09:52 +0200

On Thu, Oct 02, 2025 at 02:13:09PM +0200, Michal Suchánek wrote:
> On Wed, Oct 01, 2025 at 10:16:40PM +0000, brian m. carlson wrote:
> > On 2025-10-01 at 16:20:05, Michal Suchánek wrote:
> > > From my very limited point of view as a user the interop is the major
> > > planned feature currently missing in git, and I do not see much point
> > > without it. Then again I do not know how useful it will be in practice.
> > 
> > It is the major planned feature which was missing.
> > 
> > The primary use cases are converting repositories and working with
> > repositories using a different algorithm.  The latter might be useful if
> > you're using a SHA-256 repository that someone else has created but your
> > tooling cannot handle longer object IDs or otherwise has some limitation
> > of that sort.
> 
> It cannot, and the compat will not help with that because it's using
> pygit which will not get that compat code. Presumably some baroque
> scheme that re-exports the repository as sha1 might be possible but it's
> not clear if that would be practical.
> 
> Another problem people are comlaining about is that with a mix of sha1
> and sha256 repositories submodules and subtrees don't work. For that the
> compat might actually help but the repository will then be
> unintelligible to tooling that does not have compat code, which probably
> includes all forges at this point.  Again, some baroque scheme that
> re-exports the repository in the other hash using the compat code might
> help but it's not clear if that would be practical.

I would assume the compat client could upload the same repository to
both sha256 forge repository and sha1 forge repository. With some
scripting it's possible to publish twice making both hashes available.
People that have a compat-capable client then would see the repositories
as identical again on their end.

Not usable in every situation but for cases when mirroring is already
done anyway plugging this in sounds fairly straightforward.

Thanks

Michal