summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr>2015-06-30 14:16:51 +0200
committerJunio C Hamano <gitster@pobox.com>2015-07-07 14:39:07 -0700
commitfa5b1aa9a1e1f0ad7b2728bec3712d3fab5fe734 (patch)
tree8a85cd05fb31f069e2352fe6e035e9edfcfbaddd
parentb1c8a11c8024c88346a06274f87a0605afd4a53b (diff)
downloadgit-rl/send-email-aliases.tar.gz
send-email: suppress meaningless whitespaces in from fieldrl/send-email-aliases
Remove leading and trailing whitespaces in from field before interepreting it to improve consistency with other options. The split_addrs function already take care of trailing and leading whitespaces for to, cc and bcc fields. The from option now: - has the same behavior when passing arguments like " jdoe@example.com ", "\t jdoe@example.com " or "jdoe@example.com". - interprets aliases in string containing leading and trailing whitespaces such as " alias" or "alias\t" like other options. Signed-off-by: Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-send-email.perl1
-rwxr-xr-xt/t9001-send-email.sh24
2 files changed, 25 insertions, 0 deletions
diff --git a/git-send-email.perl b/git-send-email.perl
index f4dbad3051..62fc7d65e8 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -761,6 +761,7 @@ if (!$force) {
}
if (defined $sender) {
+ $sender =~ s/^\s+|\s+$//g;
($sender) = expand_aliases($sender);
} else {
$sender = $repoauthor || $repocommitter || '';
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 9aee4747fe..bbfed5650d 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -1692,4 +1692,28 @@ test_expect_success $PREREQ 'aliases work with email list' '
test_cmp expected-list actual-list
'
+test_expect_success $PREREQ 'leading and trailing whitespaces are removed' '
+ echo "alias to2 to2@example.com" >.mutt &&
+ echo "alias cc1 Cc 1 <cc1@example.com>" >>.mutt &&
+ test_config sendemail.aliasesfile ".mutt" &&
+ test_config sendemail.aliasfiletype mutt &&
+ TO1=$(echo "QTo 1 <to1@example.com>" | q_to_tab) &&
+ TO2=$(echo "QZto2" | qz_to_tab_space) &&
+ CC1=$(echo "cc1" | append_cr) &&
+ BCC1=$(echo "Q bcc1@example.com Q" | q_to_nul) &&
+ git send-email \
+ --dry-run \
+ --from=" Example <from@example.com>" \
+ --to="$TO1" \
+ --to="$TO2" \
+ --to=" to3@example.com " \
+ --cc="$CC1" \
+ --cc="Cc2 <cc2@example.com>" \
+ --bcc="$BCC1" \
+ --bcc="bcc2@example.com" \
+ 0001-add-master.patch | replace_variable_fields \
+ >actual-list &&
+ test_cmp expected-list actual-list
+'
+
test_done