This format is more simple than the other alias file formats, so it may
be preferred by some users. The format is as follows.
<alias>: <address|alias>[, <address|alias>...]
Aliases are specified one per line. There is no line splitting.
Anything on a line after and including a `#` symbol is considered a
comment, and is ignored. Blank lines are ignored.
Example of the 'simple' format:
alice: Alice W Land <[email protected]>
bob: Robert Bobbyton <[email protected]>
# this is a comment
# this is also a comment
chloe: [email protected]
abgroup: alice, bob # comment after an alias
bcgrp: bob, chloe, Other <[email protected]>
Signed-off-by: Allen Hubbe <[email protected]>
---
Notes:
This v3 extends the syntax to allow blank lines, and comments. The test
case is extended with comments added to alias file input.
The Documentation/git-send-email.txt is updated with a description of
the simple format. A note is added for the other formats, directing
readers to check the documentation of the email clients for a
description.
Documentation/git-send-email.txt | 2 +-
git-send-email.perl | 6 +++++-
t/t9001-send-email.sh | 24 ++++++++++++++++++++++++
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/Documentation/git-send-email.txt b/Documentation/git-send-email.txt
index 804554609def..99583c4f8969 100644
--- a/Documentation/git-send-email.txt
+++ b/Documentation/git-send-email.txt
@@ -383,7 +383,7 @@ sendemail.aliasesFile::
sendemail.aliasFileType::
Format of the file(s) specified in sendemail.aliasesFile. Must be
- one of 'mutt', 'mailrc', 'pine', 'elm', or 'gnus'.
+ one of 'mutt', 'mailrc', 'pine', 'elm', 'gnus', or 'simple'.
sendemail.multiEdit::
If true (default), a single editor instance will be spawned to edit
diff --git a/git-send-email.perl b/git-send-email.perl
index e1e9b1460ced..25d72e8db8bf 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -515,7 +515,11 @@ my %parse_alias = (
$aliases{$alias} = [ split_addrs($addr) ];
}
} },
-
+ simple => sub { my $fh = shift; while (<$fh>) {
+ if (/^\s*(\S+)\s*:\s*(.+)$/) {
+ my ($alias, $addr) = ($1, $2);
+ $aliases{$alias} = [ split_addrs($addr) ];
+ }}},
gnus => sub { my $fh = shift; while (<$fh>) {
if (/\(define-mail-alias\s+"(\S+?)"\s+"(\S+?)"\)/) {
$aliases{$1} = [ $2 ];
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh
index 7be14a4e37f7..bbb73cdf8bec 100755
--- a/t/t9001-send-email.sh
+++ b/t/t9001-send-email.sh
@@ -1548,6 +1548,30 @@ test_expect_success $PREREQ
'sendemail.aliasfile=~/.mailrc' '
2>errors >out &&
grep "^!someone@example\.org!$" commandline1
'
+test_expect_success $PREREQ 'sendemail.aliasfiletype=simple' '
+ clean_fake_sendmail && rm -fr outdir &&
+ git format-patch -1 -o outdir &&
+ {
+ echo "alice: Alice W Land <[email protected]>"
+ echo "bob: Robert Bobbyton <[email protected]>"
+ echo "chloe: [email protected]"
+ echo "abgroup: alice, bob"
+ echo "bcgrp: bob, chloe, Other <[email protected]>"
+ } >~/.tmp-email-aliases &&
+ git config --replace-all sendemail.aliasesfile \
+ "$(pwd)/.tmp-email-aliases" &&
+ git config sendemail.aliasfiletype simple &&
+ git send-email \
+ --from="Example <[email protected]>" \
+ --to=alice --to=bcgrp \
+ --smtp-server="$(pwd)/fake.sendmail" \
+ outdir/0001-*.patch \
+ 2>errors >out &&
+ grep "^!awol@example\.com!$" commandline1 &&
+ grep "^!bob@example\.com!$" commandline1 &&
+ grep "^!chloe@example\.com!$" commandline1 &&
+ grep "^!o@example\.com!$" commandline1
+'
do_xmailer_test () {
expected=$1 params=$2 &&
--
2.3.4
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html