diff options
author | Felipe Contreras <felipe.contreras@gmail.com> | 2009-11-26 21:04:29 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-11-27 23:45:24 -0800 |
commit | c89e32414516e906520e9bdd809560971eb52ef5 (patch) | |
tree | 27e55645be6ab932e7c38369392f0b5679c0adce | |
parent | 4f333bc1d32a84c9ddad737ccdbd6e99ed05d396 (diff) | |
download | git-c89e32414516e906520e9bdd809560971eb52ef5.tar.gz |
send-email: automatic envelope sender
This adds the option to specify the envelope sender as "auto" which
would pick the 'from' address. This is good because now we can specify
the address only in one place in $HOME/.gitconfig and change it easily.
[jc: added tests]
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-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 | 17 |
3 files changed, 24 insertions, 4 deletions
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt index 767cf4d4bd..118c902e7a 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 f5ba4e7699..9f44e2964a 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -861,7 +861,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 0164629ed0..c23ea0f3c5 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -112,6 +112,23 @@ 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>' |