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

[PATCH 3/3] send-email: add no-validate option

From
Jeff King <peff@peff.net>
Date
Jan 18, 2008, 14:20 UTC
Message-ID
<20080118142010.GC19783@coredump.intra.peff.net>
In-Reply-To
<20080118141638.GA14928@coredump.intra.peff.net>

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 <peff@peff.net>
---
 git-send-email.perl   |   12 +++++++++---
 t/t9001-send-email.sh |   10 ++++++++++
 2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index 144d7d4..39e0222 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 1c41810..4f6822f 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 <nobody@example.com>" \
+		--to=nobody@example.com \
+		--smtp-server="$(pwd)/fake.sendmail" \
+		--no-validate \
+		$patches longline.patch \
+		2>errors
+'
+
 test_done
-- 
1.5.4.rc3.1128.g1826-dirty
Previous: Jeff KingNext: Junio C Hamano
Message 19 of 24 in “[BUG] git send-email brakes patches with very long lines”
  1. Adam PiatyszekJan 17, 2008
  2. Adam PiatyszekJan 17, 2008
  3. Adam PiatyszekJan 17, 2008
  4. Jeff KingJan 17, 2008
  5. git-send-email.perl: check for lines longer than 998 charactersAdam Piątyszek, Jan 18, 2008
  6. Johannes SixtJan 18, 2008
  7. Adam PiatyszekJan 18, 2008
  8. Johannes SixtJan 18, 2008
  9. Junio C HamanoJan 18, 2008
  10. Adam PiatyszekJan 18, 2008
  11. Junio C HamanoJan 18, 2008
  12. Jeff KingJan 18, 2008
  13. 1/3 send-email: detect invocation errors earlierJeff King, Jan 18, 2008
  14. 2/3 send-email: validate patches before sending anythingJeff King, Jan 18, 2008
  15. Johannes SixtJan 18, 2008
  16. Jeff KingJan 18, 2008
  17. Jay SoffianJan 18, 2008
  18. Jeff KingJan 18, 2008
  19. 3/3 send-email: add no-validate optionJeff King, Jan 18, 2008
  20. Junio C HamanoJan 18, 2008
  21. Jeff KingJan 18, 2008
  22. Adam PiatyszekJan 20, 2008
  23. Jeff KingJan 20, 2008
  24. Adam PiatyszekJan 21, 2008

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.