Subject: Re: [PATCH] doc: builtin add -i is enabled by feature.experimental

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Tue, 15 Jun 2021 21:24:16 +0200

On Tue, Jun 15 2021, Todd Zullinger wrote:

> Note that add.interactive.useBuiltin is enabled by feature.experimental.
> It was added in 2df2d81ddd (add -i: use the built-in version when
> feature.experimental is set, 2020-09-08).
>
> Signed-off-by: Todd Zullinger <[email-masked]>
> ---
> I was checking my configuration to see if I still needed to have
> add.interactive.useBuiltin set and noticed that it wasn't listed in the
> settings enabled by feature.experimental.
>
> Unless it's time to take this out of the experimental phase, it seems worth
> documenting -- if for no other reason than to keep fetch.negotiationAlgorithm
> from being lonely in the feature.experimental section. ;)
>
> FWIW, I've had this enabled for perhaps a year or so and I don't recall any
> instances where it hasn't worked well.  It has come in handy on some systems
> where I can't easily install Perl but don't want to give up `add -[ip]`.
> Thanks Dscho!
>
>  Documentation/config/add.txt     | 3 ++-
>  Documentation/config/feature.txt | 6 ++++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/config/add.txt b/Documentation/config/add.txt
> index c9f748f81c..7d6d325571 100644
> --- a/Documentation/config/add.txt
> +++ b/Documentation/config/add.txt
> @@ -9,4 +9,5 @@ add.ignore-errors (deprecated)::
>  add.interactive.useBuiltin::
>  	[EXPERIMENTAL] Set to `true` to use the experimental built-in
>  	implementation of the interactive version of linkgit:git-add[1]
> -	instead of the Perl script version. Is `false` by default.
> +	instead of the Perl script version.  If `feature.experimental` is
> +	enabled, this setting is `true`.  By default, it is `false`.
> diff --git a/Documentation/config/feature.txt b/Documentation/config/feature.txt
> index cdecd04e5b..caaa97dc61 100644
> --- a/Documentation/config/feature.txt
> +++ b/Documentation/config/feature.txt
> @@ -12,6 +12,10 @@ feature.experimental::
>  	setting if you are interested in providing feedback on experimental
>  	features. The new default values are:
>  +
> +* `add.interactive.useBuiltin=true` which enables the built-in implementation
> +of the interactive version of linkgit:git-add[1] instead of the Perl script
> +version.
> ++
>  * `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
>  skipping more commits at a time, reducing the number of round trips.
>  
>  feature.manyFiles::
>  	Enable config options that optimize for repos with many files in the

Unless there's specific bugs in it that I'm unaware of, I would think
that we'd be better of just removing the setting and switching 100% to
the built-in. See the history of the other *.useBuiltin settings, where
we migrated on a fairly fast schedule.

I also see that use of stash.useBuiltin is still warning for a few
releases now, that could be removed entirely while we're at it. See
9bcde4d5314 (rebase: remove transitory rebase.useBuiltin setting & env,
2021-03-23).