diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-11-30 14:42:50 -0800 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-11-30 14:42:50 -0800 |
commit | 0c7cc135c52b7c573710f247fc55ea1bf677f1bc (patch) | |
tree | f311a31e2cf038a7039aeb61049ea695b781366e | |
parent | a689faeb5850174edfbbb0a502ef7eee8cd06d76 (diff) | |
parent | c89e32414516e906520e9bdd809560971eb52ef5 (diff) | |
download | git-0c7cc135c52b7c573710f247fc55ea1bf677f1bc.tar.gz |
Merge branch 'fc/send-email-envelope'
-rw-r--r-- | Documentation/git-send-email.txt | 7 | ||||
-rwxr-xr-x | git-send-email.perl | 4 | ||||
-rwxr-xr-x | t/t9001-send-email.sh | 34 |
3 files changed, 41 insertions, 4 deletions
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index c85d7f4385..8c482f40b9 100644 --- a/Documentation/git-send-email.txt +++ b/Documentation/git-send-email.txt @@ -108,9 +108,10 @@ Sending --envelope-sender=<address>:: Specify the envelope sender used to send the emails. This is useful if your default address is not the address that is - subscribed to a list. If you use the sendmail binary, you must have - suitable privileges for the -f parameter. Default is the value of - the 'sendemail.envelopesender' configuration variable; if that is + subscribed to a list. In order to use the 'From' address, set the + value to "auto". If you use the sendmail binary, you must have + suitable privileges for the -f parameter. Default is the value of the + 'sendemail.envelopesender' configuration variable; if that is unspecified, choosing the envelope sender is left to your MTA. --smtp-encryption=<encryption>:: diff --git a/git-send-email.perl b/git-send-email.perl index 6bd4bbc81a..319b535671 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -877,7 +877,9 @@ X-Mailer: git-send-email $gitversion my @sendmail_parameters = ('-i', @recipients); my $raw_from = $sanitized_sender; - $raw_from = $envelope_sender if (defined $envelope_sender); + if (defined $envelope_sender && $envelope_sender ne "auto") { + $raw_from = $envelope_sender; + } $raw_from = extract_valid_address($raw_from); unshift (@sendmail_parameters, '-f', $raw_from) if(defined $envelope_sender); diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 798291240a..fb51ab3dbe 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -95,6 +95,40 @@ test_expect_success \ 'Verify commandline' \ 'test_cmp expected commandline1' +test_expect_success 'Send patches with --envelope-sender' ' + clean_fake_sendmail && + git send-email --envelope-sender="Patch Contributer <patch@example.com>" --suppress-cc=sob --from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors +' + +cat >expected <<\EOF +!patch@example.com! +!-i! +!nobody@example.com! +!author@example.com! +!one@example.com! +!two@example.com! +EOF +test_expect_success \ + 'Verify commandline' \ + 'test_cmp expected commandline1' + +test_expect_success 'Send patches with --envelope-sender=auto' ' + clean_fake_sendmail && + git send-email --envelope-sender=auto --suppress-cc=sob --from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors +' + +cat >expected <<\EOF +!nobody@example.com! +!-i! +!nobody@example.com! +!author@example.com! +!one@example.com! +!two@example.com! +EOF +test_expect_success \ + 'Verify commandline' \ + 'test_cmp expected commandline1' + cat >expected-show-all-headers <<\EOF 0001-Second.patch (mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>' |