From: Jeff King Date: Fri, 18 Jan 2008 14:20:10 +0000 (-0500) Subject: send-email: add no-validate option X-Git-Tag: v1.5.4-rc4~12 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=c764a0c2b6d8c94d90c95fa8170970c85a40665c;p=git.git send-email: add no-validate option Since we are now sanity-checking the contents of patches and refusing to send ones with long lines, this knob provides a way for the user to override the new behavior (if, e.g., he knows his SMTP path will handle it). Signed-off-by: Jeff King Signed-off-by: Junio C Hamano --- diff --git a/git-send-email.perl b/git-send-email.perl index 4e62c3f0e..6c72952fc 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -100,6 +100,8 @@ Options: --envelope-sender Specify the envelope sender used to send the emails. + --no-validate Don't perform any sanity checks on patches. + EOT exit(1); } @@ -177,6 +179,7 @@ my ($quiet, $dry_run) = (0, 0); my ($thread, $chain_reply_to, $suppress_from, $signed_off_cc, $cc_cmd); my ($smtp_server, $smtp_server_port, $smtp_authuser, $smtp_authpass, $smtp_ssl); my ($identity, $aliasfiletype, @alias_files, @smtp_host_parts); +my ($no_validate); my %config_bool_settings = ( "thread" => [\$thread, 1], @@ -222,6 +225,7 @@ my $rc = GetOptions("sender|from=s" => \$sender, "dry-run" => \$dry_run, "envelope-sender=s" => \$envelope_sender, "thread!" => \$thread, + "no-validate" => \$no_validate, ); unless ($rc) { @@ -332,9 +336,11 @@ for my $f (@ARGV) { } } -foreach my $f (@files) { - my $error = validate_patch($f); - $error and die "fatal: $f: $error\nwarning: no patches were sent\n"; +if (!$no_validate) { + foreach my $f (@files) { + my $error = validate_patch($f); + $error and die "fatal: $f: $error\nwarning: no patches were sent\n"; + } } if (@files) { diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 1c4181022..4f6822f2c 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -98,4 +98,14 @@ test_expect_success 'no patch was sent' ' ! test -e commandline ' +test_expect_success 'allow long lines with --no-validate' ' + git send-email \ + --from="Example " \ + --to=nobody@example.com \ + --smtp-server="$(pwd)/fake.sendmail" \ + --no-validate \ + $patches longline.patch \ + 2>errors +' + test_done