git-svn: expand handling of From: and Signed-off-by:

The current parsing for From: and Signed-off-by: lines handles fully
specified names:

	From: Full Name <email@address>

Expand this to include the raw email addresses and straight "names":

	From: email@address       -> email <email@address>
	From: Full Name           -> Full Name <unknown>

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Acked-by: Eric Wong <normalperson@yhbt.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Andy Whitcroft 2007-12-13 06:58:15 +00:00 committed by Junio C Hamano
parent 9e5d87d490
commit 5ff6aae895

View File

@ -2363,11 +2363,20 @@ sub make_log_entry {
my ($commit_name, $commit_email) = ($name, $email);
if ($_use_log_author) {
if ($log_entry{log} =~ /From:\s+(.*?)\s+<(.*)>\s*\n/) {
($name, $email) = ($1, $2);
} elsif ($log_entry{log} =~
/Signed-off-by:\s+(.*?)\s+<(.*)>\s*\n/) {
my $name_field;
if ($log_entry{log} =~ /From:\s+(.*\S)\s*\n/i) {
$name_field = $1;
} elsif ($log_entry{log} =~ /Signed-off-by:\s+(.*\S)\s*\n/i) {
$name_field = $1;
}
if (!defined $name_field) {
#
} elsif ($name_field =~ /(.*?)\s+<(.*)>/) {
($name, $email) = ($1, $2);
} elsif ($name_field =~ /(.*)@/) {
($name, $email) = ($1, $name_field);
} else {
($name, $email) = ($name_field, 'unknown');
}
}
if (defined $headrev && $self->use_svm_props) {