send-email: --suppress-cc improvements
Since 6564828
(git-send-email: Generalize auto-cc recipient
mechanism., 2007-12-25) we can suppress automatic Cc generation
separately for each of the possible address sources. However,
--suppress-cc=sob suppressed both SOB lines and body (but not header)
Cc lines, contrary to the name.
Change --suppress-cc=sob to mean only SOB lines, and add separate
choices 'bodycc' (body Cc lines) and 'body' (both 'sob' and 'bodycc').
The option --no-signed-off-by-cc now acts like --suppress-cc=sob,
which is not backwards compatible but matches the name of the option.
Also update the documentation and add a few tests.
Original patch by me. Revised by Thomas Rast, who contributed the
documentation and test updates.
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
5012699d98
commit
3531e2703d
@ -32,11 +32,11 @@ clean_fake_sendmail() {
|
||||
}
|
||||
|
||||
test_expect_success 'Extract patches' '
|
||||
patches=`git format-patch --cc="One <one@example.com>" --cc=two@example.com -n HEAD^1`
|
||||
patches=`git format-patch -s --cc="One <one@example.com>" --cc=two@example.com -n HEAD^1`
|
||||
'
|
||||
|
||||
test_expect_success 'Send patches' '
|
||||
git send-email --from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors
|
||||
git send-email --suppress-cc=sob --from="Example <nobody@example.com>" --to=nobody@example.com --smtp-server="$(pwd)/fake.sendmail" $patches 2>errors
|
||||
'
|
||||
|
||||
cat >expected <<\EOF
|
||||
@ -74,6 +74,7 @@ EOF
|
||||
test_expect_success 'Show all headers' '
|
||||
git send-email \
|
||||
--dry-run \
|
||||
--suppress-cc=sob \
|
||||
--from="Example <from@example.com>" \
|
||||
--to=to@example.com \
|
||||
--cc=cc@example.com \
|
||||
@ -193,7 +194,7 @@ test_expect_success 'second message is patch' '
|
||||
grep "Subject:.*Second" msgtxt2
|
||||
'
|
||||
|
||||
cat >expected-show-all-headers <<\EOF
|
||||
cat >expected-suppress-sob <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(mbox) Adding cc: One <one@example.com> from line 'Cc: One <one@example.com>, two@example.com'
|
||||
@ -213,10 +214,10 @@ X-Mailer: X-MAILER-STRING
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success 'sendemail.cc set' '
|
||||
git config sendemail.cc cc@example.com &&
|
||||
test_suppression () {
|
||||
git send-email \
|
||||
--dry-run \
|
||||
--suppress-cc=$1 \
|
||||
--from="Example <from@example.com>" \
|
||||
--to=to@example.com \
|
||||
--smtp-server relay.example.com \
|
||||
@ -224,11 +225,16 @@ test_expect_success 'sendemail.cc set' '
|
||||
sed -e "s/^\(Date:\).*/\1 DATE-STRING/" \
|
||||
-e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \
|
||||
-e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \
|
||||
>actual-show-all-headers &&
|
||||
test_cmp expected-show-all-headers actual-show-all-headers
|
||||
>actual-suppress-$1 &&
|
||||
test_cmp expected-suppress-$1 actual-suppress-$1
|
||||
}
|
||||
|
||||
test_expect_success 'sendemail.cc set' '
|
||||
git config sendemail.cc cc@example.com &&
|
||||
test_suppression sob
|
||||
'
|
||||
|
||||
cat >expected-show-all-headers <<\EOF
|
||||
cat >expected-suppress-sob <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(mbox) Adding cc: One <one@example.com> from line 'Cc: One <one@example.com>, two@example.com'
|
||||
@ -250,17 +256,123 @@ EOF
|
||||
|
||||
test_expect_success 'sendemail.cc unset' '
|
||||
git config --unset sendemail.cc &&
|
||||
git send-email \
|
||||
--dry-run \
|
||||
--from="Example <from@example.com>" \
|
||||
--to=to@example.com \
|
||||
--smtp-server relay.example.com \
|
||||
$patches |
|
||||
sed -e "s/^\(Date:\).*/\1 DATE-STRING/" \
|
||||
-e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \
|
||||
-e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \
|
||||
>actual-show-all-headers &&
|
||||
test_cmp expected-show-all-headers actual-show-all-headers
|
||||
test_suppression sob
|
||||
'
|
||||
|
||||
cat >expected-suppress-all <<\EOF
|
||||
0001-Second.patch
|
||||
Dry-OK. Log says:
|
||||
Server: relay.example.com
|
||||
MAIL FROM:<from@example.com>
|
||||
RCPT TO:<to@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Subject: [PATCH 1/1] Second.
|
||||
Date: DATE-STRING
|
||||
Message-Id: MESSAGE-ID-STRING
|
||||
X-Mailer: X-MAILER-STRING
|
||||
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=all' '
|
||||
test_suppression all
|
||||
'
|
||||
|
||||
cat >expected-suppress-body <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(mbox) Adding cc: One <one@example.com> from line 'Cc: One <one@example.com>, two@example.com'
|
||||
(mbox) Adding cc: two@example.com from line 'Cc: One <one@example.com>, two@example.com'
|
||||
Dry-OK. Log says:
|
||||
Server: relay.example.com
|
||||
MAIL FROM:<from@example.com>
|
||||
RCPT TO:<to@example.com>,<author@example.com>,<one@example.com>,<two@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Cc: A <author@example.com>, One <one@example.com>, two@example.com
|
||||
Subject: [PATCH 1/1] Second.
|
||||
Date: DATE-STRING
|
||||
Message-Id: MESSAGE-ID-STRING
|
||||
X-Mailer: X-MAILER-STRING
|
||||
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=body' '
|
||||
test_suppression body
|
||||
'
|
||||
|
||||
cat >expected-suppress-sob <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(mbox) Adding cc: One <one@example.com> from line 'Cc: One <one@example.com>, two@example.com'
|
||||
(mbox) Adding cc: two@example.com from line 'Cc: One <one@example.com>, two@example.com'
|
||||
Dry-OK. Log says:
|
||||
Server: relay.example.com
|
||||
MAIL FROM:<from@example.com>
|
||||
RCPT TO:<to@example.com>,<author@example.com>,<one@example.com>,<two@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Cc: A <author@example.com>, One <one@example.com>, two@example.com
|
||||
Subject: [PATCH 1/1] Second.
|
||||
Date: DATE-STRING
|
||||
Message-Id: MESSAGE-ID-STRING
|
||||
X-Mailer: X-MAILER-STRING
|
||||
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=sob' '
|
||||
test_suppression sob
|
||||
'
|
||||
|
||||
cat >expected-suppress-bodycc <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(mbox) Adding cc: One <one@example.com> from line 'Cc: One <one@example.com>, two@example.com'
|
||||
(mbox) Adding cc: two@example.com from line 'Cc: One <one@example.com>, two@example.com'
|
||||
(body) Adding cc: C O Mitter <committer@example.com> from line 'Signed-off-by: C O Mitter <committer@example.com>'
|
||||
Dry-OK. Log says:
|
||||
Server: relay.example.com
|
||||
MAIL FROM:<from@example.com>
|
||||
RCPT TO:<to@example.com>,<author@example.com>,<one@example.com>,<two@example.com>,<committer@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Cc: A <author@example.com>, One <one@example.com>, two@example.com, C O Mitter <committer@example.com>
|
||||
Subject: [PATCH 1/1] Second.
|
||||
Date: DATE-STRING
|
||||
Message-Id: MESSAGE-ID-STRING
|
||||
X-Mailer: X-MAILER-STRING
|
||||
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=bodycc' '
|
||||
test_suppression bodycc
|
||||
'
|
||||
|
||||
cat >expected-suppress-cc <<\EOF
|
||||
0001-Second.patch
|
||||
(mbox) Adding cc: A <author@example.com> from line 'From: A <author@example.com>'
|
||||
(body) Adding cc: C O Mitter <committer@example.com> from line 'Signed-off-by: C O Mitter <committer@example.com>'
|
||||
Dry-OK. Log says:
|
||||
Server: relay.example.com
|
||||
MAIL FROM:<from@example.com>
|
||||
RCPT TO:<to@example.com>,<author@example.com>,<committer@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Cc: A <author@example.com>, C O Mitter <committer@example.com>
|
||||
Subject: [PATCH 1/1] Second.
|
||||
Date: DATE-STRING
|
||||
Message-Id: MESSAGE-ID-STRING
|
||||
X-Mailer: X-MAILER-STRING
|
||||
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=cc' '
|
||||
test_suppression cc
|
||||
'
|
||||
|
||||
test_expect_success '--compose adds MIME for utf8 body' '
|
||||
|
Reference in New Issue
Block a user