Subject: Re: [PATCH] docs: note that extensions.compatobjectformat is experimental

From: Junio C Hamano <[email-masked]>
Date: Mon, 25 Aug 2025 10:25:57 -0700

"brian m. carlson" <[email-masked]> writes:

> The compatibility object format is only implemented for loose objects,
> not packed objects, so anyone attempting to push or fetch data into a
> repository with this option will likely not see it work as expected.  In
> addition, the underlying storage of loose object mapping is likely to
> change because the current format is inefficient and does not handle
> important mapping information such as that of submodules.

It is "experimental" in the sense that a developer who is interested
in making the feature work end-to-end for the first time can use the
code behind the flag to prepare loose objects to prepare what is to
be transferred; it sounds more like this one is "not working yet" ...

> diff --git a/Documentation/config/extensions.adoc b/Documentation/config/extensions.adoc
> index 9e2f321a6d..292e95ddae 100644
> --- a/Documentation/config/extensions.adoc
> +++ b/Documentation/config/extensions.adoc
> @@ -14,6 +14,9 @@ compatObjectFormat::
>  	compatObjectFormat.  As well as being able to use oids encoded in
>  	compatObjectFormat in addition to oids encoded with objectFormat to
>  	locally specify objects.
> ++
> +Note that the functionality enabled by this option is experimental, incomplete,
> +and subject to change.

... as the only end-user-perceivable purpose the compat format
serves is to exchange data between two repositories that use
different hash functions, no?

The word "experimental" to me implies that it at least lets you
complete a minimum end-user journey of the feature end-to-end.

There are different degree of experimental in this project and we
may want to do something about it, but in any case this is a welcome
change in the right direction to steer those with mere curiosity
away from hurting themselves.

    Note that the functionality hidden behind this extension is
    incomplete and the extension exists solely to allow us to
    continue developping it further.

might give them a stronger discouragement?

>  noop::
>  	This extension does not change git's behavior at all. It is useful only