Re: Fix git-send-email.perl w.r.t. recent Getopt::Long update
From: Todd Zullinger <hidden>
Date: 2023-11-28 02:07:08
Hi, H.Merijn Brand wrote:
On Mon, 27 Nov 2023 09:58:52 +0900, Junio C Hamano [off-list ref] wrote:quoted
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