* [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' @ 2008-10-11 0:21 Brandon Casey 2008-10-11 0:24 ` Shawn O. Pearce 0 siblings, 1 reply; 11+ messages in thread From: Brandon Casey @ 2008-10-11 0:21 UTC (permalink / raw) To: Git Mailing List Since dbf5e1e9, the '--no-validate' option is a Getopt::Long boolean option. The '--no-' prefix (as in --no-validate) for boolean options is not supported in Getopt::Long version 2.32 which was released with Perl 5.8.0. This version only supports '--no' as in '--novalidate'. More recent versions of Getopt::Long, such as version 2.34, support either prefix. So use the older form in the tests. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> --- t/t9001-send-email.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index d098a01..561ae7d 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -109,7 +109,7 @@ test_expect_success 'allow long lines with --no-validate' ' --from="Example <nobody@example.com>" \ --to=nobody@example.com \ --smtp-server="$(pwd)/fake.sendmail" \ - --no-validate \ + --novalidate \ $patches longline.patch \ 2>errors ' -- 1.6.0.2.468.gd5b83 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2008-10-11 0:21 [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Brandon Casey @ 2008-10-11 0:24 ` Shawn O. Pearce 2008-10-11 0:44 ` Brandon Casey 0 siblings, 1 reply; 11+ messages in thread From: Shawn O. Pearce @ 2008-10-11 0:24 UTC (permalink / raw) To: Brandon Casey; +Cc: Git Mailing List Brandon Casey <casey@nrlssc.navy.mil> wrote: > Since dbf5e1e9, the '--no-validate' option is a Getopt::Long boolean > option. The '--no-' prefix (as in --no-validate) for boolean options > is not supported in Getopt::Long version 2.32 which was released with > Perl 5.8.0. This version only supports '--no' as in '--novalidate'. > More recent versions of Getopt::Long, such as version 2.34, support > either prefix. So use the older form in the tests. Ouch. Should we update our docs? Actually, if 2.32 doesn't support the --no-validate syntax than this is a regression in Git. Even if it is what many would call a bug in Getopt::Long in Perl, I think Git 1.6.1 should still honor --no-validate like it did in Git 1.6.0. > diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh > index d098a01..561ae7d 100755 > --- a/t/t9001-send-email.sh > +++ b/t/t9001-send-email.sh > @@ -109,7 +109,7 @@ test_expect_success 'allow long lines with --no-validate' ' > --from="Example <nobody@example.com>" \ > --to=nobody@example.com \ > --smtp-server="$(pwd)/fake.sendmail" \ > - --no-validate \ > + --novalidate \ > $patches longline.patch \ > 2>errors > ' -- Shawn. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2008-10-11 0:24 ` Shawn O. Pearce @ 2008-10-11 0:44 ` Brandon Casey 0 siblings, 0 replies; 11+ messages in thread From: Brandon Casey @ 2008-10-11 0:44 UTC (permalink / raw) To: Shawn O. Pearce; +Cc: Git Mailing List Shawn O. Pearce wrote: > Brandon Casey <casey@nrlssc.navy.mil> wrote: >> Since dbf5e1e9, the '--no-validate' option is a Getopt::Long boolean >> option. The '--no-' prefix (as in --no-validate) for boolean options >> is not supported in Getopt::Long version 2.32 which was released with >> Perl 5.8.0. This version only supports '--no' as in '--novalidate'. >> More recent versions of Getopt::Long, such as version 2.34, support >> either prefix. So use the older form in the tests. > > Ouch. > > Should we update our docs? > > Actually, if 2.32 doesn't support the --no-validate syntax than > this is a regression in Git. Even if it is what many would call a > bug in Getopt::Long in Perl, I think Git 1.6.1 should still honor > --no-validate like it did in Git 1.6.0. If it makes any difference, none of the other boolean options would work in the documented '--no-' form either, such as --no-thread, --no-signed-off-by-cc, etc. '--no-validate' is probably the only one that used to work. Update the docs? ---[no-]validate:: +--[no-|no]validate:: hmm. not sure. -brandon ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' @ 2009-04-24 23:18 Brandon Casey 0 siblings, 0 replies; 11+ messages in thread From: Brandon Casey @ 2009-04-24 23:18 UTC (permalink / raw) To: git The '--no-thread' option is a Getopt::Long boolean option. The '--no-' prefix (as in --no-thread) for boolean options is not supported in Getopt::Long version 2.32 which was released with Perl 5.8.0. This version only supports '--no' as in '--nothread'. More recent versions of Getopt::Long, such as version 2.34, support either prefix. So use the older form in the tests. Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil> --- t/t9001-send-email.sh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index d9420e0..ce26ea4 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -616,7 +616,7 @@ test_expect_success 'in-reply-to but no threading' ' --from="Example <nobody@example.com>" \ --to=nobody@example.com \ --in-reply-to="<in-reply-id@example.com>" \ - --no-thread \ + --nothread \ $patches | grep "In-Reply-To: <in-reply-id@example.com>" ' -- 1.6.2.4.24.gde59d2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Testsuite regression with perl 5.8.0 [Re: [ANNOUNCE] Git v2.3.0-rc2]
@ 2015-01-29 13:30 Tom G. Christensen
2015-01-30 6:24 ` [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Tom G. Christensen
0 siblings, 1 reply; 11+ messages in thread
From: Tom G. Christensen @ 2015-01-29 13:30 UTC (permalink / raw)
To: git
On 28/01/15 00:35, Junio C Hamano wrote:
> A release candidate Git v2.3.0-rc2 is now available for testing
> at the usual places.
>
Commit 2cf770 added testing of the --[no-]xmailer option to git
send-email in t9001-send-email.sh
Unfortunately it used the modern Getopt::long style of --no-<option> to
negate the option which is not supported with Getopt::Long 2.32 as
shipped with perl 5.8.0 on RHEL3 causing the tests to fail.
Changing the --no-xmailer option to the old --noxmailer style allows the
tests to pass.
-tgc
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-01-29 13:30 Testsuite regression with perl 5.8.0 [Re: [ANNOUNCE] Git v2.3.0-rc2] Tom G. Christensen @ 2015-01-30 6:24 ` Tom G. Christensen 2015-01-30 23:05 ` brian m. carlson 0 siblings, 1 reply; 11+ messages in thread From: Tom G. Christensen @ 2015-01-30 6:24 UTC (permalink / raw) To: git The '--no-xmailer' option is a Getopt::Long boolean option. The '--no-' prefix (as in --no-xmailer) for boolean options is not supported in Getopt::Long version 2.32 which was released with Perl 5.8.0. This version only supports '--no' as in '--noxmailer'. More recent versions of Getopt::Long, such as version 2.34, support either prefix. So use the older form in the tests. See also: d2559f734bba7fe5257720356a92f3b7a5b0d37c 907a0b1e04ea31cb368e9422df93d8ebb0187914 84eeb687de7a6c7c42af3fb51b176e0f412a979e 3fee1fe87144360a1913eab86af9ad136c810076 Signed-off-by: Tom G. Christensen <tgc@statsbiblioteket.dk> --- t/t9001-send-email.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index af6a3e8..30df6ae 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -1580,20 +1580,20 @@ do_xmailer_test () { test_expect_success $PREREQ '--[no-]xmailer without any configuration' ' do_xmailer_test 1 "--xmailer" && - do_xmailer_test 0 "--no-xmailer" + do_xmailer_test 0 "--noxmailer" ' test_expect_success $PREREQ '--[no-]xmailer with sendemail.xmailer=true' ' test_config sendemail.xmailer true && do_xmailer_test 1 "" && - do_xmailer_test 0 "--no-xmailer" && + do_xmailer_test 0 "--noxmailer" && do_xmailer_test 1 "--xmailer" ' test_expect_success $PREREQ '--[no-]xmailer with sendemail.xmailer=false' ' test_config sendemail.xmailer false && do_xmailer_test 0 "" && - do_xmailer_test 0 "--no-xmailer" && + do_xmailer_test 0 "--noxmailer" && do_xmailer_test 1 "--xmailer" ' -- 2.2.1 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-01-30 6:24 ` [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Tom G. Christensen @ 2015-01-30 23:05 ` brian m. carlson 2015-01-31 2:40 ` Kyle J. McKay 0 siblings, 1 reply; 11+ messages in thread From: brian m. carlson @ 2015-01-30 23:05 UTC (permalink / raw) To: Tom G. Christensen; +Cc: git [-- Attachment #1: Type: text/plain, Size: 1967 bytes --] On Fri, Jan 30, 2015 at 07:24:45AM +0100, Tom G. Christensen wrote: >The '--no-xmailer' option is a Getopt::Long boolean option. The >'--no-' prefix (as in --no-xmailer) for boolean options is not >supported in Getopt::Long version 2.32 which was released with Perl 5.8.0. >This version only supports '--no' as in '--noxmailer'. More recent >versions of Getopt::Long, such as version 2.34, support either prefix. So >use the older form in the tests. > >See also: > >d2559f734bba7fe5257720356a92f3b7a5b0d37c >907a0b1e04ea31cb368e9422df93d8ebb0187914 >84eeb687de7a6c7c42af3fb51b176e0f412a979e >3fee1fe87144360a1913eab86af9ad136c810076 > >Signed-off-by: Tom G. Christensen <tgc@statsbiblioteket.dk> >--- > t/t9001-send-email.sh | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > >diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh >index af6a3e8..30df6ae 100755 >--- a/t/t9001-send-email.sh >+++ b/t/t9001-send-email.sh >@@ -1580,20 +1580,20 @@ do_xmailer_test () { > > test_expect_success $PREREQ '--[no-]xmailer without any configuration' ' > do_xmailer_test 1 "--xmailer" && >- do_xmailer_test 0 "--no-xmailer" >+ do_xmailer_test 0 "--noxmailer" I don't think this is an adequate fix. The documented option is --no-xmailer. If your version of Getopt::Long is not capable of that, then the program doesn't work as documented, and the test is correctly failing. --noxmailer is not documented at all, so it's not something we should be testing. We should probably require a certain version of Getopt::Long or explicitly handle this in the parsing code itself. I think the former is a better choice, since no security-supported OS still ships with such a positively ancient version. -- brian m. carlson / brian with sandals: Houston, Texas, US +1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187 [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-01-30 23:05 ` brian m. carlson @ 2015-01-31 2:40 ` Kyle J. McKay 2015-02-02 1:33 ` Junio C Hamano 2015-02-12 23:12 ` Junio C Hamano 0 siblings, 2 replies; 11+ messages in thread From: Kyle J. McKay @ 2015-01-31 2:40 UTC (permalink / raw) To: brian m. carlson; +Cc: Git mailing list, Tom G. Christensen On Jan 30, 2015, at 15:05, brian m. carlson wrote: > On Fri, Jan 30, 2015 at 07:24:45AM +0100, Tom G. Christensen wrote: >> The '--no-xmailer' option is a Getopt::Long boolean option. The >> '--no-' prefix (as in --no-xmailer) for boolean options is not >> supported in Getopt::Long version 2.32 which was released with Perl >> 5.8.0. >> This version only supports '--no' as in '--noxmailer'. More recent >> versions of Getopt::Long, such as version 2.34, support either >> prefix. So >> use the older form in the tests. >> >> See also: >> >> d2559f734bba7fe5257720356a92f3b7a5b0d37c >> 907a0b1e04ea31cb368e9422df93d8ebb0187914 >> 84eeb687de7a6c7c42af3fb51b176e0f412a979e >> 3fee1fe87144360a1913eab86af9ad136c810076 >> >> Signed-off-by: Tom G. Christensen <tgc@statsbiblioteket.dk> >> --- >> t/t9001-send-email.sh | 6 +++--- >> 1 file changed, 3 insertions(+), 3 deletions(-) >> >> diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh >> index af6a3e8..30df6ae 100755 >> --- a/t/t9001-send-email.sh >> +++ b/t/t9001-send-email.sh >> @@ -1580,20 +1580,20 @@ do_xmailer_test () { >> >> test_expect_success $PREREQ '--[no-]xmailer without any >> configuration' ' >> do_xmailer_test 1 "--xmailer" && >> - do_xmailer_test 0 "--no-xmailer" >> + do_xmailer_test 0 "--noxmailer" > > I don't think this is an adequate fix. The documented option is -- > no-xmailer. If your version of Getopt::Long is not capable of that, > then the program doesn't work as documented, and the test is > correctly failing. --noxmailer is not documented at all, so it's > not something we should be testing. It is not alone. From the git-send-email help these are all boolean options: > git send-email > > Composing: > --[no-]xmailer > --[no-]annotate > > Automating: > --[no-]cc-cover > --[no-]to-cover > --[no-]signed-off-by-cc > --[no-]suppress-from > --[no-]chain-reply-to > --[no-]thread > > Administering: > --[no-]validate > --[no-]format-patch Anything done to fix --no-xmailer should be applied for all the other --no-... options as well. > We should probably require a certain version of Getopt::Long or > explicitly handle this in the parsing code itself. I think the > former is a better choice, since no security-supported OS still > ships with such a positively ancient version. I don't really like that second option because all the .perl files have: > use 5.008; So either that needs to change or the code should properly deal with the version of Getopt::Long that comes with 5.8.0. Since it's really not very difficult or invasive to add support for the no- variants, here's a patch to do so: -- 8< -- Subject: [PATCH] git-send-email.perl: support no- prefix with older GetOptions Only Perl version 5.8.0 or later is required, but that comes with an older Getopt::Long (2.32) that does not support the 'no-' prefix. Support for that was added in Getopt::Long version 2.33. Since the help only mentions the 'no-' prefix and not the 'no' prefix, add explicit support for the 'no-' prefix when running with older GetOptions versions. Reported-by: Tom G. Christensen <tgc@statsbiblioteket.dk> Signed-off-by: Kyle J. McKay <mackyle@gmail.com> --- git-send-email.perl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/git-send-email.perl b/git-send-email.perl index 3092ab35..a18a7959 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -299,6 +299,7 @@ my $rc = GetOptions("h" => \$help, "bcc=s" => \@bcclist, "no-bcc" => \$no_bcc, "chain-reply-to!" => \$chain_reply_to, + "no-chain-reply-to" => sub {$chain_reply_to = 0}, "smtp-server=s" => \$smtp_server, "smtp-server-option=s" => \@smtp_server_options, "smtp-server-port=s" => \$smtp_server_port, @@ -311,25 +312,34 @@ my $rc = GetOptions("h" => \$help, "smtp-domain:s" => \$smtp_domain, "identity=s" => \$identity, "annotate!" => \$annotate, + "no-annotate" => sub {$annotate = 0}, "compose" => \$compose, "quiet" => \$quiet, "cc-cmd=s" => \$cc_cmd, "suppress-from!" => \$suppress_from, + "no-suppress-from" => sub {$suppress_from = 0}, "suppress-cc=s" => \@suppress_cc, "signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc, + "no-signed-off-cc|no-signed-off-by-cc" => sub {$signed_off_by_cc = 0}, "cc-cover|cc-cover!" => \$cover_cc, + "no-cc-cover" => sub {$cover_cc = 0}, "to-cover|to-cover!" => \$cover_to, + "no-to-cover" => sub {$cover_to = 0}, "confirm=s" => \$confirm, "dry-run" => \$dry_run, "envelope-sender=s" => \$envelope_sender, "thread!" => \$thread, + "no-thread" => sub {$thread = 0}, "validate!" => \$validate, + "no-validate" => sub {$validate = 0}, "transfer-encoding=s" => \$target_xfer_encoding, "format-patch!" => \$format_patch, + "no-format-patch" => sub {$format_patch = 0}, "8bit-encoding=s" => \$auto_8bit_encoding, "compose-encoding=s" => \$compose_encoding, "force" => \$force, "xmailer!" => \$use_xmailer, + "no-xmailer" => sub {$use_xmailer = 0}, ); usage() if $help; -- ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-01-31 2:40 ` Kyle J. McKay @ 2015-02-02 1:33 ` Junio C Hamano 2015-02-02 16:11 ` Kyle J. McKay 2015-02-12 23:12 ` Junio C Hamano 1 sibling, 1 reply; 11+ messages in thread From: Junio C Hamano @ 2015-02-02 1:33 UTC (permalink / raw) To: Kyle J. McKay; +Cc: brian m. carlson, Git mailing list, Tom G. Christensen "Kyle J. McKay" <mackyle@gmail.com> writes: >> use 5.008; > > So either that needs to change or the code should properly deal with > the version of Getopt::Long that comes with 5.8.0. > > Since it's really not very difficult or invasive to add support for > the no- variants, here's a patch to do so: Doesn't that approach add "what does --no-no-chain-rely-to even mean?" confusion to the resulting system? If that is not the case, then I am all for it, but otherwise, let's not. People can easily spell --noxmailer if they want to stay at an older Getopt::Long, and over time these ancient ones will be upgraded away. > -- 8< -- > Subject: [PATCH] git-send-email.perl: support no- prefix with older GetOptions > > Only Perl version 5.8.0 or later is required, but that comes with > an older Getopt::Long (2.32) that does not support the 'no-' > prefix. Support for that was added in Getopt::Long version 2.33. > > Since the help only mentions the 'no-' prefix and not the 'no' > prefix, add explicit support for the 'no-' prefix when running > with older GetOptions versions. > > Reported-by: Tom G. Christensen <tgc@statsbiblioteket.dk> > Signed-off-by: Kyle J. McKay <mackyle@gmail.com> > --- > git-send-email.perl | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/git-send-email.perl b/git-send-email.perl > index 3092ab35..a18a7959 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -299,6 +299,7 @@ my $rc = GetOptions("h" => \$help, > "bcc=s" => \@bcclist, > "no-bcc" => \$no_bcc, > "chain-reply-to!" => \$chain_reply_to, > + "no-chain-reply-to" => sub {$chain_reply_to = 0}, > "smtp-server=s" => \$smtp_server, > "smtp-server-option=s" => \@smtp_server_options, > "smtp-server-port=s" => \$smtp_server_port, > @@ -311,25 +312,34 @@ my $rc = GetOptions("h" => \$help, > "smtp-domain:s" => \$smtp_domain, > "identity=s" => \$identity, > "annotate!" => \$annotate, > + "no-annotate" => sub {$annotate = 0}, > "compose" => \$compose, > "quiet" => \$quiet, > "cc-cmd=s" => \$cc_cmd, > "suppress-from!" => \$suppress_from, > + "no-suppress-from" => sub {$suppress_from = 0}, > "suppress-cc=s" => \@suppress_cc, > "signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc, > + "no-signed-off-cc|no-signed-off-by-cc" => sub {$signed_off_by_cc = 0}, > "cc-cover|cc-cover!" => \$cover_cc, > + "no-cc-cover" => sub {$cover_cc = 0}, > "to-cover|to-cover!" => \$cover_to, > + "no-to-cover" => sub {$cover_to = 0}, > "confirm=s" => \$confirm, > "dry-run" => \$dry_run, > "envelope-sender=s" => \$envelope_sender, > "thread!" => \$thread, > + "no-thread" => sub {$thread = 0}, > "validate!" => \$validate, > + "no-validate" => sub {$validate = 0}, > "transfer-encoding=s" => \$target_xfer_encoding, > "format-patch!" => \$format_patch, > + "no-format-patch" => sub {$format_patch = 0}, > "8bit-encoding=s" => \$auto_8bit_encoding, > "compose-encoding=s" => \$compose_encoding, > "force" => \$force, > "xmailer!" => \$use_xmailer, > + "no-xmailer" => sub {$use_xmailer = 0}, > ); > > usage() if $help; > -- ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-02-02 1:33 ` Junio C Hamano @ 2015-02-02 16:11 ` Kyle J. McKay 2015-02-02 20:12 ` Junio C Hamano 0 siblings, 1 reply; 11+ messages in thread From: Kyle J. McKay @ 2015-02-02 16:11 UTC (permalink / raw) To: Junio C Hamano; +Cc: brian m. carlson, Git mailing list, Tom G. Christensen On Feb 1, 2015, at 17:33, Junio C Hamano wrote: > "Kyle J. McKay" <mackyle@gmail.com> writes: > >>> use 5.008; >> >> So either that needs to change or the code should properly deal with >> the version of Getopt::Long that comes with 5.8.0. >> >> Since it's really not very difficult or invasive to add support for >> the no- variants, here's a patch to do so: > > Doesn't that approach add "what does --no-no-chain-rely-to even > mean?" confusion to the resulting system? If that is not the case, > then I am all for it, but otherwise, let's not. No. You have to append the '!' to get the automagic no prefix alternative(s), so while 'chain-reply-to!' means support chain-reply- to, nochain-reply-to and (if you have a new enough Getopt::Long) no- chain-reply-to, just using 'no-chain-reply-to' without the trailing '!' means that nono-chain-reply-to and no-no-chain-reply-to remain invalid options that will generate an error. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-02-02 16:11 ` Kyle J. McKay @ 2015-02-02 20:12 ` Junio C Hamano 0 siblings, 0 replies; 11+ messages in thread From: Junio C Hamano @ 2015-02-02 20:12 UTC (permalink / raw) To: Kyle J. McKay; +Cc: brian m. carlson, Git mailing list, Tom G. Christensen "Kyle J. McKay" <mackyle@gmail.com> writes: > On Feb 1, 2015, at 17:33, Junio C Hamano wrote: > >> "Kyle J. McKay" <mackyle@gmail.com> writes: >> >>>> use 5.008; >>> >>> So either that needs to change or the code should properly deal with >>> the version of Getopt::Long that comes with 5.8.0. >>> >>> Since it's really not very difficult or invasive to add support for >>> the no- variants, here's a patch to do so: >> >> Doesn't that approach add "what does --no-no-chain-rely-to even >> mean?" confusion to the resulting system? If that is not the case, >> then I am all for it, but otherwise, let's not. > > No. You have to append the '!' to get the automagic no prefix > alternative(s), so while 'chain-reply-to!' means support chain-reply- > to, nochain-reply-to and (if you have a new enough Getopt::Long) no- > chain-reply-to, just using 'no-chain-reply-to' without the trailing > !' means that nono-chain-reply-to and no-no-chain-reply-to remain > invalid options that will generate an error. Ahh, I missed that ! suffix (or lack thereof). Thanks. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' 2015-01-31 2:40 ` Kyle J. McKay 2015-02-02 1:33 ` Junio C Hamano @ 2015-02-12 23:12 ` Junio C Hamano 1 sibling, 0 replies; 11+ messages in thread From: Junio C Hamano @ 2015-02-12 23:12 UTC (permalink / raw) To: Git mailing list; +Cc: brian m. carlson, Kyle J. McKay, Tom G. Christensen "Kyle J. McKay" <mackyle@gmail.com> writes: > Since it's really not very difficult or invasive to add support for > the no- variants, here's a patch to do so: I am inclined to replace the tc/t9001-noxmailer topic that has been sitting on my Undecided pile with this patch and move it forward. * tc/t9001-noxmailer (2015-01-30) 1 commit - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Please stop me if I am missing something obviously wrong with this plan. Thanks. > -- 8< -- > Subject: [PATCH] git-send-email.perl: support no- prefix with older GetOptions > > Only Perl version 5.8.0 or later is required, but that comes with > an older Getopt::Long (2.32) that does not support the 'no-' > prefix. Support for that was added in Getopt::Long version 2.33. > > Since the help only mentions the 'no-' prefix and not the 'no' > prefix, add explicit support for the 'no-' prefix when running > with older GetOptions versions. > > Reported-by: Tom G. Christensen <tgc@statsbiblioteket.dk> > Signed-off-by: Kyle J. McKay <mackyle@gmail.com> > --- > git-send-email.perl | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/git-send-email.perl b/git-send-email.perl > index 3092ab35..a18a7959 100755 > --- a/git-send-email.perl > +++ b/git-send-email.perl > @@ -299,6 +299,7 @@ my $rc = GetOptions("h" => \$help, > "bcc=s" => \@bcclist, > "no-bcc" => \$no_bcc, > "chain-reply-to!" => \$chain_reply_to, > + "no-chain-reply-to" => sub {$chain_reply_to = 0}, > "smtp-server=s" => \$smtp_server, > "smtp-server-option=s" => \@smtp_server_options, > "smtp-server-port=s" => \$smtp_server_port, > @@ -311,25 +312,34 @@ my $rc = GetOptions("h" => \$help, > "smtp-domain:s" => \$smtp_domain, > "identity=s" => \$identity, > "annotate!" => \$annotate, > + "no-annotate" => sub {$annotate = 0}, > "compose" => \$compose, > "quiet" => \$quiet, > "cc-cmd=s" => \$cc_cmd, > "suppress-from!" => \$suppress_from, > + "no-suppress-from" => sub {$suppress_from = 0}, > "suppress-cc=s" => \@suppress_cc, > "signed-off-cc|signed-off-by-cc!" => \$signed_off_by_cc, > + "no-signed-off-cc|no-signed-off-by-cc" => sub {$signed_off_by_cc = 0}, > "cc-cover|cc-cover!" => \$cover_cc, > + "no-cc-cover" => sub {$cover_cc = 0}, > "to-cover|to-cover!" => \$cover_to, > + "no-to-cover" => sub {$cover_to = 0}, > "confirm=s" => \$confirm, > "dry-run" => \$dry_run, > "envelope-sender=s" => \$envelope_sender, > "thread!" => \$thread, > + "no-thread" => sub {$thread = 0}, > "validate!" => \$validate, > + "no-validate" => sub {$validate = 0}, > "transfer-encoding=s" => \$target_xfer_encoding, > "format-patch!" => \$format_patch, > + "no-format-patch" => sub {$format_patch = 0}, > "8bit-encoding=s" => \$auto_8bit_encoding, > "compose-encoding=s" => \$compose_encoding, > "force" => \$force, > "xmailer!" => \$use_xmailer, > + "no-xmailer" => sub {$use_xmailer = 0}, > ); > > usage() if $help; > -- ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2015-02-12 23:12 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-10-11 0:21 [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Brandon Casey 2008-10-11 0:24 ` Shawn O. Pearce 2008-10-11 0:44 ` Brandon Casey -- strict thread matches above, loose matches on Subject: below -- 2009-04-24 23:18 Brandon Casey 2015-01-29 13:30 Testsuite regression with perl 5.8.0 [Re: [ANNOUNCE] Git v2.3.0-rc2] Tom G. Christensen 2015-01-30 6:24 ` [PATCH] t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-' Tom G. Christensen 2015-01-30 23:05 ` brian m. carlson 2015-01-31 2:40 ` Kyle J. McKay 2015-02-02 1:33 ` Junio C Hamano 2015-02-02 16:11 ` Kyle J. McKay 2015-02-02 20:12 ` Junio C Hamano 2015-02-12 23:12 ` Junio C Hamano
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).