git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Fix git-send-email.perl w.r.t. recent Getopt::Long update

From
Todd Zullinger <tmz@pobox.com>
Date
Nov 28, 2023, 02:07 UTC
Message-ID
<ZWVLRIfARhRhz-7L@pobox.com>
In-Reply-To
<20231127093810.2092fe1d@pc09>
Hi,
H.Merijn Brand wrote:
Show 23 quoted lines
> On Mon, 27 Nov 2023 09:58:52 +0900, Junio C Hamano <gitster@pobox.com> wrote:
>> 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---

The real issue is the lack of support for the '--no-' prefix when used with the '!' parameter. The '--no-' form is what has always been documented by git-send-email(1). It was not supported until Getopt::Long 2.33, included in perl 5.8.1.

Prior, 'foo!' provided --foo and --nofoo but not --no-foo.

But as Junio said, we can accept requiring a perl which was released sometime in the past 2 decades in order to run the most recent git release. ;)

Thanks for noticing this and sending a patch!
-- 
Todd
Previous: H.Merijn Brand
Message 8 of 8 in “Fix git-send-email.perl w.r.t. recent Getopt::Long update”
  1. H.Merijn BrandNov 24, 2023
  2. Bagas SanjayaNov 25, 2023
  3. H.Merijn BrandNov 25, 2023
  4. Dragan SimicNov 25, 2023
  5. Jeff KingNov 27, 2023
  6. Junio C HamanoNov 27, 2023
  7. H.Merijn BrandNov 27, 2023
  8. Todd ZullingerNov 28, 2023

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.