From: Junio C Hamano <gitster@pobox.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, "Philip Oakley" <philipoakley@iee.email>,
"Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>,
"SZEDER Gábor" <szeder.dev@gmail.com>
Subject: Re: [PATCH v3 6/9] help: simplify by moving to OPT_CMDMODE()
Date: Thu, 23 Sep 2021 11:05:17 -0700 [thread overview]
Message-ID: <xmqq4kab182q.fsf@gitster.g> (raw)
In-Reply-To: patch-v3-6.9-b52269eeab9-20210921T223223Z-avarab@gmail.com
Ævar Arnfjörð Bjarmason <avarab@gmail.com> writes:
> As preceding commits have incrementally established all of the --all,
> --guides, --config and hidden --config-for-completion options are
> mutually exclusive. So let's use OPT_CMDMODE() to parse the
> command-line instead, and take advantage of its conflicting options
> detection.
Sounds quite logical.
> I think this makes the usage information that we emit slightly worse,
> e.g. before we'd emit:
>
> $ git help --all --config
> fatal: --config and --all cannot be combined
>
> usage: git help [-a|--all] [--[no-]verbose]]
> [[-i|--info] [-m|--man] [-w|--web]] [<command>]
> or: git help [-g|--guides]
> or: git help [-c|--config]
> [...]
> $
>
> And now:
>
> $ git help --all --config
> error: option `config' is incompatible with --all
> $
We often hear that our error messages for command line options are
unhelpful by being too broad, don't we? I think the new one would
be much better by not scrolling away the most important part. Those
who want to know about options other than --all and --config can
issue "git help -h" after seeing that single line error, but not
everybody has to do so.
> But improving that is a general topic for parse-options.c improvement,
> i.e. we should probably emit the full usage in that case.
Yes, absolutely.
next prev parent reply other threads:[~2021-09-23 18:05 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-08 15:24 [PATCH 0/6] help: fix usage nits & bugs, completion shellscript->C Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 1/6] help: correct the usage string in -h and documentation Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 2/6] help: correct usage string for "git help --guides" Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 3/6] help tests: add test for --config output Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 4/6] help: refactor "for_human" control flow in cmd_help() Ævar Arnfjörð Bjarmason
2021-09-08 16:41 ` Eric Sunshine
2021-09-08 17:02 ` Junio C Hamano
2021-09-08 19:36 ` Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 5/6] help: correct logic error in combining --all and --config Ævar Arnfjörð Bjarmason
2021-09-08 16:39 ` Eric Sunshine
2021-09-08 19:37 ` Ævar Arnfjörð Bjarmason
2021-09-10 8:08 ` Eric Sunshine
2021-09-10 11:09 ` Ævar Arnfjörð Bjarmason
2021-09-08 15:24 ` [PATCH 6/6] help / completion: make "git help" do the hard work Ævar Arnfjörð Bjarmason
2021-09-10 11:28 ` [PATCH v2 0/5] help: fix usage nits & bugs, completion shellscript->C Ævar Arnfjörð Bjarmason
2021-09-10 11:28 ` [PATCH v2 1/5] help: correct the usage string in -h and documentation Ævar Arnfjörð Bjarmason
2021-09-11 1:12 ` Junio C Hamano
2021-09-11 2:34 ` Ævar Arnfjörð Bjarmason
2021-09-10 11:28 ` [PATCH v2 2/5] help: correct usage & behavior of "git help --guides" Ævar Arnfjörð Bjarmason
2021-09-10 18:15 ` Philip Oakley
2021-09-10 18:21 ` Philip Oakley
2021-09-21 13:49 ` Ævar Arnfjörð Bjarmason
2021-09-21 14:20 ` Philip Oakley
2021-09-11 1:22 ` Junio C Hamano
2021-09-10 11:28 ` [PATCH v2 3/5] help tests: add test for --config output Ævar Arnfjörð Bjarmason
2021-09-11 1:32 ` Junio C Hamano
2021-09-11 2:25 ` Ævar Arnfjörð Bjarmason
2021-09-13 19:21 ` Philip Oakley
2021-09-10 11:28 ` [PATCH v2 4/5] help: correct logic error in combining --all and --config Ævar Arnfjörð Bjarmason
2021-09-10 23:45 ` Junio C Hamano
2021-09-10 11:28 ` [PATCH v2 5/5] help / completion: make "git help" do the hard work Ævar Arnfjörð Bjarmason
2021-09-11 1:35 ` Junio C Hamano
2021-09-21 22:40 ` [PATCH v3 0/9] help: fix usage nits & bugs, completion shellscript->C Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 1/9] help: correct the usage string in -h and documentation Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 2/9] help: correct usage & behavior of "git help --guides" Ævar Arnfjörð Bjarmason
2021-09-23 18:05 ` Junio C Hamano
2021-09-21 22:40 ` [PATCH v3 3/9] help tests: add test for --config output Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 4/9] help: correct logic error in combining --all and --config Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 5/9] help: correct logic error in combining --all and --guides Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 6/9] help: simplify by moving to OPT_CMDMODE() Ævar Arnfjörð Bjarmason
2021-09-23 18:03 ` Junio C Hamano
2021-09-23 18:05 ` Junio C Hamano [this message]
2021-09-21 22:40 ` [PATCH v3 7/9] help tests: test --config-for-completion option & output Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 8/9] help / completion: make "git help" do the hard work Ævar Arnfjörð Bjarmason
2021-09-21 22:40 ` [PATCH v3 9/9] help: move column config discovery to help.c library Ævar Arnfjörð Bjarmason
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=xmqq4kab182q.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=avarab@gmail.com \
--cc=git@vger.kernel.org \
--cc=pclouds@gmail.com \
--cc=philipoakley@iee.email \
--cc=szeder.dev@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.