* [PATCH] send-email: Use To: headers in patch files
@ 2010-09-28 8:02 Stephen Boyd
2010-09-28 14:34 ` Ævar Arnfjörð Bjarmason
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Boyd @ 2010-09-28 8:02 UTC (permalink / raw)
To: Junio C Hamano; +Cc: git, Viresh Kumar
It's a minor annoyance when you take the painstaking time to setup To:
headers for each patch in a large series, and then go out to send the
series with git-send-email and watch git ignore the To: headers in the
patch files.
Therefore, always add To: headers from a patch file to the To: headers
for that message. Keep the prompt for the blanket To: header so as to
not break scripts (and user expectations). This means even if a patch
has a To: header, git will prompt for the To: address. Otherwise, we'll
need to introduce interface breakage to either request the header for
each patch missing a To: header or default the header to whatever To:
address is found first (be it in a patch or from user input). Both of
these options don't seem very obvious/useful.
Reported-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Tested-by: Viresh Kumar <viresh.kumar@st.com>
---
This is a resend of a patch a few weeks ago with some added tests.
git-send-email.perl | 7 +++++++
t/t9001-send-email.sh | 22 ++++++++++++++++++++++
2 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index e1f29a7..d6028ec 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1176,6 +1176,13 @@ foreach my $t (@files) {
$1, $_) unless $quiet;
push @cc, $1;
}
+ elsif (/^To:\s+(.*)$/) {
+ foreach my $addr (parse_address_line($1)) {
+ printf("(mbox) Adding to: %s from line '%s'\n",
+ $addr, $_) unless $quiet;
+ push @to, sanitize_address($addr);
+ }
+ }
elsif (/^Cc:\s+(.*)$/) {
foreach my $addr (parse_address_line($1)) {
if (unquote_rfc2047($addr) eq $sender) {
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 71b3df9..6bd9ea7 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -947,6 +947,28 @@ test_expect_success $PREREQ '--no-bcc overrides sendemail.bcc' '
! grep "RCPT TO:<other@ex.com>" stdout
'
+test_expect_success $PREREQ 'patches To headers are used by default' '
+ patch=`git format-patch -1 --to="bodies@example.com"` &&
+ git send-email \
+ --dry-run \
+ --from="Example <nobody@example.com>" \
+ --smtp-server relay.example.com \
+ $patch >stdout &&
+ grep "RCPT TO:<bodies@example.com>" stdout
+'
+
+test_expect_success $PREREQ 'patches To headers are appended to' '
+ patch=`git format-patch -1 --to="bodies@example.com"` &&
+ git send-email \
+ --dry-run \
+ --from="Example <nobody@example.com>" \
+ --to=nobody@example.com \
+ --smtp-server relay.example.com \
+ $patch >stdout &&
+ grep "RCPT TO:<bodies@example.com>" stdout &&
+ grep "RCPT TO:<nobody@example.com>" stdout
+'
+
test_expect_success $PREREQ 'setup expect' '
cat >email-using-8bit <<EOF
From fe6ecc66ece37198fe5db91fa2fc41d9f4fe5cc4 Mon Sep 17 00:00:00 2001
--
1.7.3.16.g5d4d9
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] send-email: Use To: headers in patch files
2010-09-28 8:02 [PATCH] send-email: Use To: headers in patch files Stephen Boyd
@ 2010-09-28 14:34 ` Ævar Arnfjörð Bjarmason
2010-09-29 7:26 ` [PATCHv2] " Stephen Boyd
0 siblings, 1 reply; 3+ messages in thread
From: Ævar Arnfjörð Bjarmason @ 2010-09-28 14:34 UTC (permalink / raw)
To: Stephen Boyd; +Cc: Junio C Hamano, git, Viresh Kumar
On Tue, Sep 28, 2010 at 08:02, Stephen Boyd <bebarino@gmail.com> wrote:
> +test_expect_success $PREREQ 'patches To headers are used by default' '
> + patch=`git format-patch -1 --to="bodies@example.com"` &&
> + git send-email \
> + --dry-run \
> + --from="Example <nobody@example.com>" \
> + --smtp-server relay.example.com \
> + $patch >stdout &&
> + grep "RCPT TO:<bodies@example.com>" stdout
> +'
Why not:
git format-patch -1 --to="bodies@example.com" &&
test_when_finished "rm *.patch" &&
git send-email [...] *.patch >out &&
[...]
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCHv2] send-email: Use To: headers in patch files
2010-09-28 14:34 ` Ævar Arnfjörð Bjarmason
@ 2010-09-29 7:26 ` Stephen Boyd
0 siblings, 0 replies; 3+ messages in thread
From: Stephen Boyd @ 2010-09-29 7:26 UTC (permalink / raw)
To: git; +Cc: Junio C Hamano, Viresh Kumar,
Ævar Arnfjörð Bjarmason
It's a minor annoyance when you take the painstaking time to setup To:
headers for each patch in a large series, and then go out to send the
series with git-send-email and watch git ignore the To: headers in the
patch files.
Therefore, always add To: headers from a patch file to the To: headers
for that message. Keep the prompt for the blanket To: header so as to
not break scripts (and user expectations). This means even if a patch
has a To: header, git will prompt for the To: address. Otherwise, we'll
need to introduce interface breakage to either request the header for
each patch missing a To: header or default the header to whatever To:
address is found first (be it in a patch or from user input). Both of
these options don't seem very obvious/useful.
Reported-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Stephen Boyd <bebarino@gmail.com>
Tested-by: Viresh Kumar <viresh.kumar@st.com>
---
Changes since v1:
- Added test_when_finished calls.
git-send-email.perl | 7 +++++++
t/t9001-send-email.sh | 24 ++++++++++++++++++++++++
2 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index e1f29a7..d6028ec 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1176,6 +1176,13 @@ foreach my $t (@files) {
$1, $_) unless $quiet;
push @cc, $1;
}
+ elsif (/^To:\s+(.*)$/) {
+ foreach my $addr (parse_address_line($1)) {
+ printf("(mbox) Adding to: %s from line '%s'\n",
+ $addr, $_) unless $quiet;
+ push @to, sanitize_address($addr);
+ }
+ }
elsif (/^Cc:\s+(.*)$/) {
foreach my $addr (parse_address_line($1)) {
if (unquote_rfc2047($addr) eq $sender) {
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 71b3df9..294e31f 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -947,6 +947,30 @@ test_expect_success $PREREQ '--no-bcc overrides sendemail.bcc' '
! grep "RCPT TO:<other@ex.com>" stdout
'
+test_expect_success $PREREQ 'patches To headers are used by default' '
+ patch=`git format-patch -1 --to="bodies@example.com"` &&
+ test_when_finished "rm $patch" &&
+ git send-email \
+ --dry-run \
+ --from="Example <nobody@example.com>" \
+ --smtp-server relay.example.com \
+ $patch >stdout &&
+ grep "RCPT TO:<bodies@example.com>" stdout
+'
+
+test_expect_success $PREREQ 'patches To headers are appended to' '
+ patch=`git format-patch -1 --to="bodies@example.com"` &&
+ test_when_finished "rm $patch" &&
+ git send-email \
+ --dry-run \
+ --from="Example <nobody@example.com>" \
+ --to=nobody@example.com \
+ --smtp-server relay.example.com \
+ $patch >stdout &&
+ grep "RCPT TO:<bodies@example.com>" stdout &&
+ grep "RCPT TO:<nobody@example.com>" stdout
+'
+
test_expect_success $PREREQ 'setup expect' '
cat >email-using-8bit <<EOF
From fe6ecc66ece37198fe5db91fa2fc41d9f4fe5cc4 Mon Sep 17 00:00:00 2001
--
1.7.3.16.g5d4d9
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-09-29 7:26 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-28 8:02 [PATCH] send-email: Use To: headers in patch files Stephen Boyd
2010-09-28 14:34 ` Ævar Arnfjörð Bjarmason
2010-09-29 7:26 ` [PATCHv2] " Stephen Boyd
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).