[PATCH 4/4] send-email: add support for mutt aliases files
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Mar 25, 2006, 10:43 UTC
- Message-ID
- <11432834111445-git-send-email-normalperson@yhbt.net>
- In-Reply-To
- <11432834101430-git-send-email-normalperson@yhbt.net>
I got rid of the Email::Valid dependency since writing RFC-correct email addresses is probably not a problem for most users.
In my experience, misspelled usernames are a much bigger problem. I am prone to doing things like leaving out the 'k' in Junio's email address and other things that Email::Valid can't catch.
Since I use mutt and the aliases file is pretty simple, I've added basic support for mutt alias files.
To setup git-send-email to use a mutt aliases file for a repo, do this:
git-repo-config sendemail.muttaliases <mutt_alias_file_path>
More email clients/address book formats can easily be supported in the future.
Signed-off-by: Eric Wong <normalperson@yhbt.net>
---
git-send-email.perl | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
8bc65d178dd755ecd1f3c038b975b9bbe58c1015
diff --git a/git-send-email.perl b/git-send-email.perl index 73bba19..207b1fb 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -89,6 +89,15 @@ sub gitvar_ident { my ($author) = gitvar_ident('GIT_AUTHOR_IDENT'); my ($committer) = gitvar_ident('GIT_COMMITTER_IDENT'); +my %aliases; +if (my $mutt_aliases = `git-repo-config sendemail.muttaliases`) { + chomp $mutt_aliases; + open my $ma, '<', $mutt_aliases or die "opening $mutt_aliases: $!\n"; + while (<$ma>) { if (/^alias\s+(\S+)\s+(.*)/) { $aliases{$1} = $2 } } + close $ma; +} +# aliases for more mail clients can be supported here: + my $prompting = 0; if (!defined $from) { $from = $author || $committer; @@ -112,6 +121,9 @@ if (!@to) { $prompting++; } +@to = map { $aliases{$_} || $_ } @to; +@initial_cc = map { $aliases{$_} || $_ } @initial_cc; + if (!defined $initial_subject && $compose) { do { $_ = $term->readline("What subject should the emails start with? ",
-- 1.2.4.gb622a