Subject: Re: ab/parse-options-cleanup & ab/align-parse-options-help & ab/help-config-vars

From: Junio C Hamano <[email-masked]>
Date: Wed, 06 Oct 2021 09:44:05 -0700

Ævar Arnfjörð Bjarmason <[email-masked]> writes:

> On Mon, Oct 04 2021, Junio C Hamano wrote:
>
>> * ab/parse-options-cleanup (2021-10-01) 11 commits
>>  - parse-options: change OPT_{SHORT,UNSET} to an enum
>>  - parse-options tests: test optname() output
>>  - parse-options.[ch]: make opt{bug,name}() "static"
>>  - commit-graph: stop using optname()
>>  - parse-options.c: move optname() earlier in the file
>>  - parse-options.h: make the "flags" in "struct option" an enum
>>  - parse-options.c: use exhaustive "case" arms for "enum parse_opt_type"
>>  - parse-options.c: use exhaustive "case" arms for "enum parse_opt_result"
>>  - parse-options.[ch]: consistently use "enum parse_opt_result"
>>  - parse-options.[ch]: consistently use "enum parse_opt_flags"
>>  - parse-options.h: move PARSE_OPT_SHELL_EVAL between enums
>>
>>  Random changes to parse-options implementation.
>>
>>  Will merge to 'next'?

As I already said, I am not convinced by the "exhaustive case"
thing.  Other than that, I think this is OK.

>> * ab/align-parse-options-help (2021-09-22) 4 commits
>>  - parse-options: properly align continued usage output
>>  - git rev-parse --parseopt tests: add more usagestr tests
>>  - send-pack: properly use parse_options() API for usage string
>>  - parse-options API users: align usage output in C-strings
>>
>>  When "git cmd -h" shows more than one line of usage text (e.g.
>>  the cmd subcommand may take sub-sub-command), parse-options API
>>  learned to align these lines, even across i18n/l10n.
>>
>>  Will merge to 'next'?

This was more or less "Meh" for me.

>> * ab/help-config-vars (2021-09-23) 9 commits
>>  - help: move column config discovery to help.c library
>>  - help / completion: make "git help" do the hard work
>>  - help tests: test --config-for-completion option & output
>>  - help: simplify by moving to OPT_CMDMODE()
>>  - help: correct logic error in combining --all and --guides
>>  - help: correct logic error in combining --all and --config
>>  - help tests: add test for --config output
>>  - help: correct usage & behavior of "git help --guides"
>>  - help: correct the usage string in -h and documentation
>>
>>  Teach "git help -c" into helping the command line completion of
>>  configuration variables.
>>
>>  Will merge to 'next'?

This is probably a good thing to do.  I do not remember what
implementation nits were still there offhand.