From: "H.Merijn Brand" <linux@tux.freedom.nl>
To: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: Re: Fix git-send-email.perl w.r.t. recent Getopt::Long update
Date: Mon, 27 Nov 2023 09:38:10 +0100 [thread overview]
Message-ID: <20231127093810.2092fe1d@pc09> (raw)
In-Reply-To: <xmqqzfz03tbn.fsf@gitster.g>
[-- Attachment #1: Type: text/plain, Size: 2548 bytes --]
On Mon, 27 Nov 2023 09:58:52 +0900, Junio C Hamano <gitster@pobox.com> wrote:
> "H.Merijn Brand" <linux@tux.freedom.nl> writes:
>
> > From the Getopt::Long changes:
> > ```
> > Changes in version 2.55
> > -----------------------
> > * Fix long standing bug that duplicate options were not detected when
> > the options differ in case while ignore_case is in effect.
> > This will now yield a warning and become a fatal error in a future
> > release.
> > ```
> >
> > Current version is 2.57
>
> This patch looks like duplicate of
>
> https://lore.kernel.org/git/20231116193014.470420-1-tmz@pobox.com/
>
> perhaps independently discovered and worked on. Thanks for caring.
>
> One downside of unconditional upgrade of the call is, of course,
> that it would no longer work for those with older Getopt::Long that
> did not support the "!" suffix. Fortunately, Getopt::Long 2.33
> started shipping with Perl 5.8.1 that is more than 20 years old, so
> with the series we accepted, we also have a change to bump the
> required version of Perl from 5.8.0 to 5.8.1 to make it clear that
> it is deliberate that we drop the support for anything older at the
> same time.
The is a no-issue ...
Just the 'use Getopt::Long' is enough to guarantee a working version:
The '!' was already implemented in version 2.10 (April 1997):
--8<---
=item !
Option does not take an argument and may be negated, i.e. prefixed by
"no". E.g. "foo!" will allow B<--foo> (with value 1) and B<-nofoo>
(with value 0).
The option variable will be set to 1, or 0 if negated.
-->8---
Looking at the ChangeLog, a reliable behavior of '!' was available
since version 2.22 (march 2000):
--8<---
Changes in version 2.22
-----------------------
* Fixes a bug in the combination of aliases and negation.
Old: "foo|bar!" allowed negation on foo, but not on bar.
New: "foo|bar!" allows negation on foo and bar.
Caveat: "foo|f!", with bundling, issues the warning that negation on
a short option is ignored. To obtain the desired behaviour, use
"foo!" => \$opt_foo, "f" => \$opt_foo
or
"foo|f" => \$opt_foo, "nofoo" => sub { $opt_foo = 0 }
Remember that this is _only_ required when bundling is in effect.
-->8---
--
H.Merijn Brand https://tux.nl Perl Monger http://amsterdam.pm.org/
using perl5.00307 .. 5.37 porting perl5 on HP-UX, AIX, and Linux
https://tux.nl/email.html http://qa.perl.org https://www.test-smoke.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2023-11-27 8:47 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-24 9:39 Fix git-send-email.perl w.r.t. recent Getopt::Long update H.Merijn Brand
2023-11-25 2:22 ` Bagas Sanjaya
2023-11-25 9:45 ` H.Merijn Brand
2023-11-25 12:28 ` Dragan Simic
2023-11-27 21:38 ` Jeff King
2023-11-27 0:58 ` Junio C Hamano
2023-11-27 8:38 ` H.Merijn Brand [this message]
2023-11-28 2:07 ` Todd Zullinger
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=20231127093810.2092fe1d@pc09 \
--to=linux@tux.freedom.nl \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).