Ævar Arnfjörð Bjarmason [off-list ref] writes:
This still leaves e.g. "git stash push -h" emitting the
"git_stash_usage" output, instead of "git_stash_push_usage". That
should be fixed, but is a much deeper misbehavior in parse_options()
not being aware of subcommands at all. I.e. in how
PARSE_OPT_KEEP_UNKNOWN and PARSE_OPT_NO_INTERNAL_HELP combine in
commands such as "git stash".
I do not necessarily think that is misbehaviour to begin with, but
in any case, it is good to keep the initial fix focused on a small
and clear case, like the one the patch addresses.