mbox series

[0/3] add: remove Perl version of "git add -[pi]"

Message ID cover-0.3-00000000000-20230203T125859Z-avarab@gmail.com (mailing list archive)
Headers show
Series add: remove Perl version of "git add -[pi]" | expand

Message

Ævar Arnfjörð Bjarmason Feb. 3, 2023, 4:30 p.m. UTC
The v2.37.0 we've made the built-in version of "git add -i" and "git
add -p" the default, after having had the built-in version optionally
available since v2.25.0.

With this the time we kept around the legacy implementation falls
between the time we kept the similar "rebase" and "stash"
implementations.

After it was made the default we had a next-release regression fix[1],
but haven't had any issues since then. Any outstanding bugs in it are
something we'd fix in the C code, not something where users are likely
to want an escape hatch to scramble back to the Perl implementation.

Branch & CI for this available at:
https://github.com/avar/git/tree/avar/nuke-perl-add--interactive

1. 4788e8b2569 (add --interactive: allow `update` to stage deleted
   files, 2022-06-28)
   https://github.com/msys2/MSYS2-packages/issues/3066

Ævar Arnfjörð Bjarmason (3):
  add: remove "add.interactive.useBuiltin" & Perl "git add--interactive"
  add API: remove run_add_interactive() wrapper function
  docs & comments: replace mentions of "git-add--interactive.perl"

 .gitignore                   |    1 -
 Documentation/config/add.txt |    7 +-
 Documentation/git-add.txt    |    6 +-
 Makefile                     |    1 -
 builtin/add.c                |   61 +-
 builtin/checkout.c           |   12 +-
 builtin/clean.c              |    2 +-
 builtin/reset.c              |    4 +-
 builtin/stash.c              |    3 +-
 ci/run-build-and-tests.sh    |    1 -
 commit.h                     |    2 -
 git-add--interactive.perl    | 1920 ----------------------------------
 pathspec.c                   |    2 +-
 t/README                     |    4 -
 t/t2016-checkout-patch.sh    |    6 -
 t/t3701-add-interactive.sh   |   29 +-
 t/t6132-pathspec-exclude.sh  |    6 +-
 t/test-lib.sh                |    4 -
 18 files changed, 49 insertions(+), 2022 deletions(-)
 delete mode 100755 git-add--interactive.perl

Comments

Jeff King Feb. 3, 2023, 4:48 p.m. UTC | #1
On Fri, Feb 03, 2023 at 05:30:01PM +0100, Ævar Arnfjörð Bjarmason wrote:

> After it was made the default we had a next-release regression fix[1],
> but haven't had any issues since then. Any outstanding bugs in it are
> something we'd fix in the C code, not something where users are likely
> to want an escape hatch to scramble back to the Perl implementation.

I'm in favor of dropping the perl version, but note that this paragraph
isn't quite accurate. There was at least one more regression after that,
solved by fb094cb583 (Merge branch 'js/add-p-diff-parsing-fix',
2022-09-09).

I'd probably leave the final decision on its status to Johannes. This is
(I think) the last time we discussed it:

  https://lore.kernel.org/git/rsrn5988-37n4-7q45-s1o9-6n40rropp120@tzk.qr/

That was 6 months ago, so maybe it's time now.

-Peff
Junio C Hamano Feb. 3, 2023, 7:34 p.m. UTC | #2
Jeff King <peff@peff.net> writes:

> On Fri, Feb 03, 2023 at 05:30:01PM +0100, Ævar Arnfjörð Bjarmason wrote:
>
>> After it was made the default we had a next-release regression fix[1],
>> but haven't had any issues since then. Any outstanding bugs in it are
>> something we'd fix in the C code, not something where users are likely
>> to want an escape hatch to scramble back to the Perl implementation.
>
> I'm in favor of dropping the perl version, but note that this paragraph
> isn't quite accurate. There was at least one more regression after that,
> solved by fb094cb583 (Merge branch 'js/add-p-diff-parsing-fix',
> 2022-09-09).
>
> I'd probably leave the final decision on its status to Johannes. This is
> (I think) the last time we discussed it:
>
>   https://lore.kernel.org/git/rsrn5988-37n4-7q45-s1o9-6n40rropp120@tzk.qr/
>
> That was 6 months ago, so maybe it's time now.

Sounds good to me, too.