Re: [Outreachy PATCH] git.c: drop NO_PARSEOPT from builtins that use parse-options
- From
René Scharfe <l.s.r@web.de>
- Date
- Oct 25, 2026, 07:59 UTC
- Message-ID
- <8b60c7f6-4a1c-495a-a594-aaf322279539@web.de>
- In-Reply-To
- <20261024052449.95869-1-tangajoris@gmail.com>
On 10/24/26 7:24 AM, Tanga Joris wrote:
Show 23 quoted lines
> The NO_PARSEOPT flag in the commands[] table marks builtins that > parse their options by hand. Builtins marked with it are left out > of "git --list-cmds=parseopt", which bash completion uses to > decide whether it can ask a command for its options with > "--git-completion-helper". > > Four builtins have since been converted to parse-options, but are > still marked NO_PARSEOPT: > > - patch-id, in 2871f4d447 (builtin: patch-id: add --verbatim as a > command mode, 2022-10-24) > - diff-pairs, which has used parse-options since it was introduced > in 5bd10b2adc (builtin: introduce diff-pairs command, 2025-02-28) > - fast-import, in 863937696e (fast-import: use parse_options() for > command line options, 2026-08-11) > - var, in e19f0779c6 (var: add "-z" output mode, 2026-09-26) > > This causes "git fast-import --<TAB>", "git patch-id --<TAB>" and > "git diff-pairs --<TAB>" to offer no options, even though they are > listed by "--git-completion-helper". > > Remove the flag from these four builtins, like 66fa6e8ed8 (git.c: > update NO_PARSEOPT markings, 2022-08-19) did for others.
Good idea!
"git fast-import --git-completion-helper" prints its command line options only after it gets fed a line of input. That's odd. Do the completion scripts still work seamlessly, i.e. without requiring the user to press <return>?
René