public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jiamu Sun <39@barroit.sh>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 0/5] parseopt: add subcommand autocorrection
Date: Sun, 08 Mar 2026 13:11:22 -0700	[thread overview]
Message-ID: <xmqqo6ky9j4l.fsf@gitster.g> (raw)
In-Reply-To: <SY0P300MB08019805A8304105FA805EB1CE78A@SY0P300MB0801.AUSP300.PROD.OUTLOOK.COM> (Jiamu Sun's message of "Sun, 8 Mar 2026 21:17:20 +0900")

Jiamu Sun <39@barroit.sh> writes:

> Git currently provides auto-correction for builtins and aliases, but
> lacks this functionality for subcommands parsed via the parse-options
> API. Subcommands are also commands, and typos will occur, too. Like:
>
> 	git remote add-rul
>
> So, this series introduces subcommand auto-correction.
>
> Currently, builtins with mandatory subcommands enable autocorrection by
> default. However, those using PARSE_OPT_SUBCOMMAND_OPTIONAL skip it to
> avoid treating valid unknown arguments as mistyped subcommands.

This is a bit confusing as it describes the behavior introduced by
this series rather than the state of the codebase before these
patches.  Since subcommand autocorrection doesn't exist yet, it
would be clearer to phrase this as describing your implementation
choices. Perhaps:

    By default, this implementation enables autocorrection for
    builtins with mandatory subcommands. However, for those using
    PARSE_OPT_SUBCOMMAND_OPTIONAL, autocorrection is skipped to
    avoid misinterpreting legitimate unknown arguments as mistyped
    subcommands.

or something, perhaps?

  parent reply	other threads:[~2026-03-08 20:11 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-08 12:17 [PATCH 0/5] parseopt: add subcommand autocorrection Jiamu Sun
2026-03-08 12:17 ` [PATCH 1/5] parseopt: extract subcommand handling from parse_options_step() Jiamu Sun
2026-03-08 23:40   ` Junio C Hamano
2026-03-09  1:56     ` Jiamu Sun
2026-03-08 12:17 ` [PATCH 2/5] help: refactor command autocorrection handling Jiamu Sun
2026-03-08 23:52   ` Junio C Hamano
2026-03-09  2:06     ` Jiamu Sun
2026-03-08 12:17 ` [PATCH 3/5] parseopt: autocorrect mistyped subcommands Jiamu Sun
2026-03-09  0:04   ` Junio C Hamano
2026-03-09  2:11     ` Jiamu Sun
2026-03-08 12:17 ` [PATCH 4/5] parseopt: enable subcommand autocorrect for remote and notes Jiamu Sun
2026-03-08 12:17 ` [PATCH 5/5] help: add tests for subcommand autocorrection Jiamu Sun
2026-03-11 17:01   ` Aaron Plattner
2026-03-11 22:45     ` Jiamu Sun
2026-03-12 13:35       ` Junio C Hamano
2026-03-08 20:11 ` Junio C Hamano [this message]
2026-03-08 22:07   ` [PATCH 0/5] parseopt: add " Jiamu Sun
2026-03-08 23:16 ` [PATCH v2 " Jiamu Sun
2026-03-08 23:16   ` [PATCH v2 1/5] parseopt: extract subcommand handling from parse_options_step() Jiamu Sun
2026-03-08 23:16   ` [PATCH v2 2/5] help: refactor command autocorrection handling Jiamu Sun
2026-03-08 23:16   ` [PATCH v2 3/5] parseopt: autocorrect mistyped subcommands Jiamu Sun
2026-03-08 23:16   ` [PATCH v2 4/5] parseopt: enable subcommand autocorrect for remote and notes Jiamu Sun
2026-03-08 23:16   ` [PATCH v2 5/5] help: add tests for subcommand autocorrection Jiamu Sun
2026-03-10 11:40   ` [PATCH v3 0/8] parseopt: add " Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 1/8] parseopt: extract subcommand handling from parse_options_step() Jiamu Sun
2026-03-10 12:46       ` Karthik Nayak
2026-03-11  1:49         ` Jiamu Sun
2026-03-11  4:20           ` Junio C Hamano
2026-03-11  4:20           ` Junio C Hamano
2026-03-11  6:12             ` Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 2/8] help: make autocorrect handling reusable Jiamu Sun
2026-03-10 12:52       ` Karthik Nayak
2026-03-10 20:10         ` Junio C Hamano
2026-03-11  2:05           ` Jiamu Sun
2026-03-11  1:58         ` Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 3/8] help: move tty check for autocorrection to autocorrect.c Jiamu Sun
2026-03-10 14:06       ` Karthik Nayak
2026-03-11  2:16         ` Jiamu Sun
2026-03-12  0:10         ` Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 4/8] autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINTONLY Jiamu Sun
2026-03-10 14:08       ` Karthik Nayak
2026-03-11  2:46         ` Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 5/8] autocorrect: provide config resolution API Jiamu Sun
2026-03-10 14:15       ` Karthik Nayak
2026-03-10 11:41     ` [PATCH v3 6/8] parseopt: autocorrect mistyped subcommands Jiamu Sun
2026-03-10 20:16       ` Junio C Hamano
2026-03-11  2:48         ` Jiamu Sun
2026-03-11 23:26           ` Jiamu Sun
2026-03-12  2:38             ` Junio C Hamano
2026-03-12  4:53               ` Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 7/8] parseopt: enable subcommand autocorrection for git-remote and git-notes Jiamu Sun
2026-03-10 11:41     ` [PATCH v3 8/8] help: add tests for subcommand autocorrection Jiamu Sun
2026-03-11  4:23       ` Junio C Hamano
2026-03-11  6:10         ` Jiamu Sun
2026-03-16 15:36     ` [PATCH v4 00/10] parseopt: add " Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 01/10] parseopt: extract subcommand handling from parse_options_step() Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 02/10] help: make autocorrect handling reusable Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 03/10] help: move tty check for autocorrection to autocorrect.c Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 04/10] autocorrect: use mode and delay instead of magic numbers Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 05/10] autocorrect: rename AUTOCORRECT_SHOW to AUTOCORRECT_HINT Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 06/10] autocorrect: provide config resolution API Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 07/10] parseopt: autocorrect mistyped subcommands Jiamu Sun
2026-03-16 19:41         ` Junio C Hamano
2026-03-17  3:21           ` Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 08/10] parseopt: enable subcommand autocorrection for git-remote and git-notes Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 09/10] parseopt: add tests for subcommand autocorrection Jiamu Sun
2026-03-16 15:36       ` [PATCH v4 10/10] doc: document autocorrect API Jiamu Sun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqo6ky9j4l.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=39@barroit.sh \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox