Re: [PATCH] various: disallow --no-no-OPT for --no-opt options
- From
Jacob Keller <jacob.keller@gmail.com>
- Date
- Apr 19, 2017, 09:08 UTC
- Message-ID
- <CA+P7+xp-VzyqH2Sn9i0fO4rwszEo6NbTMsdTah+Z+zrc5VR4_g@mail.gmail.com>
- In-Reply-To
- <CACBZZX5wHvWgqjBaiD4pJsVQug=+-4xRwkvfZ0uZ=meE3xR6NQ@mail.gmail.com>
On Wed, Apr 19, 2017 at 12:02 AM, Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 24 quoted lines
> On Wed, Apr 19, 2017 at 4:50 AM, Jeff King <peff@peff.net> wrote:
>> On Tue, Apr 18, 2017 at 07:40:37PM -0700, Junio C Hamano wrote:
>>
>>> > It might even be possible to detect the existing line and
>>> > have parse-options automatically respect "--foo" when "--no-foo" is
>>> > present. But that may run afoul of callers that add both "--foo" and
>>> > "--no-foo" manually.
>>>
>>> True but wouldn't that something we would want to avoid anyway?
>>> That is, "git cmd [--OPT | --no-OPT | --no-no-OPT]" from the end
>>> user's point of view should be an error because it is unclear what
>>> difference there are between --OPT and --no-no-OPT. And we should
>>> be able to add a rule to parse_options_check() to catch such an
>>> error.
>>
>> I meant that if you have something like this in your options array:
>>
>> { 0, "foo", OPTION_INTEGER, &foo, 1 },
>> { 0, "no-foo", OPTION_INTEGER, &foo, 2 },
>
> I may be missing something, but don't we already do exactly what
> you're describing here? See commit f1930c587 ("parse-options: allow
> positivation of options starting, with no-", 2012-02-25) from René
> Scharfe.Correct, but if you pass the NONEG flag to the option then it will no longer perform this type of negation either.
Thanks, Jake