From: René Scharfe Date: Sun, 25 Oct 2026 07:59:07 GMT Subject: Re: [Outreachy PATCH] git.c: drop NO_PARSEOPT from builtins that use parse-options 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: > 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 --", "git patch-id --" and > "git diff-pairs --" 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 ? René