From 3169e06daf297227362fb64a9d5c2cc451fefcbb Mon Sep 17 00:00:00 2001 From: Allen Hubbe Date: Tue, 26 May 2015 17:32:03 -0400 Subject: send-email: add sendmail email aliases format Teach send-email to read aliases in the sendmail aliases format, i.e. : [, ...] Examples: alice: Alice W Land bob: Robert Bobbyton # this is a comment # this is also a comment chloe: chloe@example.com abgroup: alice, bob bcgrp: bob, chloe, Other - Quoted aliases and quoted addresses are not supported. - Line continuations are not supported. Warnings are printed for explicitly unsupported constructs, and any other lines that are not matched by the parser. Signed-off-by: Allen Hubbe Signed-off-by: Junio C Hamano --- git-send-email.perl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'git-send-email.perl') diff --git a/git-send-email.perl b/git-send-email.perl index e1e9b1460c..6bedf745e7 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -516,6 +516,31 @@ my %parse_alias = ( } } }, + sendmail => sub { my $fh = shift; while (<$fh>) { + # ignore blank lines and comment lines + if (/^\s*(?:#.*)?$/) { } + + # warn on lines that contain quotes + elsif (/"/) { + print STDERR "sendmail alias with quotes is not supported: $_\n"; + } + + # warn on lines that continue + elsif (/^\s|\\$/) { + print STDERR "sendmail continuation line is not supported: $_\n"; + } + + # recognize lines that look like an alias + elsif (/^(\S+?)\s*:\s*(.+)$/) { + my ($alias, $addr) = ($1, $2); + $aliases{$alias} = [ split_addrs($addr) ]; + } + + # warn on lines that are not recognized + else { + print STDERR "sendmail line is not recognized: $_\n"; + }}}, + gnus => sub { my $fh = shift; while (<$fh>) { if (/\(define-mail-alias\s+"(\S+?)"\s+"(\S+?)"\)/) { $aliases{$1} = [ $2 ]; -- cgit v1.2.3