mirror of
https://github.com/git/git.git
synced 2024-11-24 10:26:17 +08:00
Merge branch 'pb/send-email-cccmd-fix'
* pb/send-email-cccmd-fix: Test cccmd in t9001-send-email.sh and fix some bugs
This commit is contained in:
commit
451316d9bd
@ -193,12 +193,12 @@ Automating
|
||||
- 'self' will avoid including the sender
|
||||
- 'cc' will avoid including anyone mentioned in Cc lines in the patch header
|
||||
except for self (use 'self' for that).
|
||||
- 'ccbody' will avoid including anyone mentioned in Cc lines in the
|
||||
- 'bodycc' will avoid including anyone mentioned in Cc lines in the
|
||||
patch body (commit message) except for self (use 'self' for that).
|
||||
- 'sob' will avoid including anyone mentioned in Signed-off-by lines except
|
||||
for self (use 'self' for that).
|
||||
- 'cccmd' will avoid running the --cc-cmd.
|
||||
- 'body' is equivalent to 'sob' + 'ccbody'
|
||||
- 'body' is equivalent to 'sob' + 'bodycc'
|
||||
- 'all' will suppress all auto cc values.
|
||||
--
|
||||
+
|
||||
|
@ -1299,7 +1299,7 @@ _git_rebase ()
|
||||
}
|
||||
|
||||
__git_send_email_confirm_options="always never auto cc compose"
|
||||
__git_send_email_suppresscc_options="author self cc ccbody sob cccmd body all"
|
||||
__git_send_email_suppresscc_options="author self cc bodycc sob cccmd body all"
|
||||
|
||||
_git_send_email ()
|
||||
{
|
||||
|
@ -334,7 +334,7 @@ if (@suppress_cc) {
|
||||
}
|
||||
|
||||
if ($suppress_cc{'all'}) {
|
||||
foreach my $entry (qw (ccmd cc author self sob body bodycc)) {
|
||||
foreach my $entry (qw (cccmd cc author self sob body bodycc)) {
|
||||
$suppress_cc{$entry} = 1;
|
||||
}
|
||||
delete $suppress_cc{'all'};
|
||||
@ -1104,7 +1104,7 @@ foreach my $t (@files) {
|
||||
close F;
|
||||
|
||||
if (defined $cc_cmd && !$suppress_cc{'cccmd'}) {
|
||||
open(F, "$cc_cmd $t |")
|
||||
open(F, "$cc_cmd \Q$t\E |")
|
||||
or die "(cc-cmd) Could not execute '$cc_cmd'";
|
||||
while(<F>) {
|
||||
my $c = $_;
|
||||
|
@ -148,6 +148,22 @@ test_expect_success 'Prompting works' '
|
||||
grep "^To: to@example.com$" msgtxt1
|
||||
'
|
||||
|
||||
test_expect_success 'cccmd works' '
|
||||
clean_fake_sendmail &&
|
||||
cp $patches cccmd.patch &&
|
||||
echo cccmd--cccmd@example.com >>cccmd.patch &&
|
||||
echo sed -n s/^cccmd--//p \"\$1\" > cccmd-sed &&
|
||||
chmod +x cccmd-sed &&
|
||||
git send-email \
|
||||
--from="Example <nobody@example.com>" \
|
||||
--to=nobody@example.com \
|
||||
--cc-cmd=./cccmd-sed \
|
||||
--smtp-server="$(pwd)/fake.sendmail" \
|
||||
cccmd.patch \
|
||||
&&
|
||||
grep ^Cc:.*cccmd@example.com msgtxt1
|
||||
'
|
||||
|
||||
z8=zzzzzzzz
|
||||
z64=$z8$z8$z8$z8$z8$z8$z8$z8
|
||||
z512=$z64$z64$z64$z64$z64$z64$z64$z64
|
||||
@ -274,7 +290,7 @@ EOF
|
||||
test_suppression () {
|
||||
git send-email \
|
||||
--dry-run \
|
||||
--suppress-cc=$1 \
|
||||
--suppress-cc=$1 ${2+"--suppress-cc=$2"} \
|
||||
--from="Example <from@example.com>" \
|
||||
--to=to@example.com \
|
||||
--smtp-server relay.example.com \
|
||||
@ -282,8 +298,8 @@ test_suppression () {
|
||||
sed -e "s/^\(Date:\).*/\1 DATE-STRING/" \
|
||||
-e "s/^\(Message-Id:\).*/\1 MESSAGE-ID-STRING/" \
|
||||
-e "s/^\(X-Mailer:\).*/\1 X-MAILER-STRING/" \
|
||||
>actual-suppress-$1 &&
|
||||
test_cmp expected-suppress-$1 actual-suppress-$1
|
||||
>actual-suppress-$1${2+"-$2"} &&
|
||||
test_cmp expected-suppress-$1${2+"-$2"} actual-suppress-$1${2+"-$2"}
|
||||
}
|
||||
|
||||
test_expect_success 'sendemail.cc set' '
|
||||
@ -316,6 +332,34 @@ test_expect_success 'sendemail.cc unset' '
|
||||
test_suppression sob
|
||||
'
|
||||
|
||||
cat >expected-suppress-cccmd <<\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 'sendemail.cccmd' '
|
||||
echo echo cc-cmd@example.com > cccmd &&
|
||||
chmod +x cccmd &&
|
||||
git config sendemail.cccmd ./cccmd &&
|
||||
test_suppression cccmd
|
||||
'
|
||||
|
||||
cat >expected-suppress-all <<\EOF
|
||||
0001-Second.patch
|
||||
Dry-OK. Log says:
|
||||
@ -341,6 +385,31 @@ cat >expected-suppress-body <<\EOF
|
||||
(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'
|
||||
(cc-cmd) Adding cc: cc-cmd@example.com from: './cccmd'
|
||||
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>,<cc-cmd@example.com>
|
||||
From: Example <from@example.com>
|
||||
To: to@example.com
|
||||
Cc: A <author@example.com>, One <one@example.com>, two@example.com, cc-cmd@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-body-cccmd <<\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>
|
||||
@ -356,8 +425,8 @@ X-Mailer: X-MAILER-STRING
|
||||
Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=body' '
|
||||
test_suppression body
|
||||
test_expect_success '--suppress-cc=body --suppress-cc=cccmd' '
|
||||
test_suppression body cccmd
|
||||
'
|
||||
|
||||
cat >expected-suppress-sob <<\EOF
|
||||
@ -381,6 +450,7 @@ Result: OK
|
||||
EOF
|
||||
|
||||
test_expect_success '--suppress-cc=sob' '
|
||||
git config --unset sendemail.cccmd
|
||||
test_suppression sob
|
||||
'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user