get_maintainer.pl: update from linix 3.8
authorMichael S. Tsirkin <mst@redhat.com>
Mon, 10 Dec 2012 20:52:11 +0000 (22:52 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 12 Dec 2012 21:41:03 +0000 (23:41 +0200)
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
scripts/get_maintainer.pl

index d9c48e0982b620f0eed6dc2af0aaa06dc8275fdb..bf5342a08dfab3c7ba0aef48215038d1543ce948 100755 (executable)
@@ -83,6 +83,8 @@ push(@signature_tags, "Signed-off-by:");
 push(@signature_tags, "Reviewed-by:");
 push(@signature_tags, "Acked-by:");
 
+my $signature_pattern = "\(" . join("|", @signature_tags) . "\)";
+
 # rfc822 email address - preloaded methods go here.
 my $rfc822_lwsp = "(?:(?:\\r\\n)?[ \\t])";
 my $rfc822_char = '[\\000-\\377]';
@@ -95,7 +97,7 @@ my %VCS_cmds_git = (
     "execute_cmd" => \&git_execute_cmd,
     "available" => '(which("git") ne "") && (-d ".git")',
     "find_signers_cmd" =>
-       "git log --no-color --since=\$email_git_since " .
+       "git log --no-color --follow --since=\$email_git_since " .
            '--format="GitCommit: %H%n' .
                      'GitAuthor: %an <%ae>%n' .
                      'GitDate: %aD%n' .
@@ -328,7 +330,8 @@ sub read_mailmap {
        # name1 <mail1> <mail2>
        # name1 <mail1> name2 <mail2>
        # (see man git-shortlog)
-       if (/^(.+)<(.+)>$/) {
+
+       if (/^([^<]+)<([^>]+)>$/) {
            my $real_name = $1;
            my $address = $2;
 
@@ -336,13 +339,13 @@ sub read_mailmap {
            ($real_name, $address) = parse_email("$real_name <$address>");
            $mailmap->{names}->{$address} = $real_name;
 
-       } elsif (/^<([^\s]+)>\s*<([^\s]+)>$/) {
+       } elsif (/^<([^>]+)>\s*<([^>]+)>$/) {
            my $real_address = $1;
            my $wrong_address = $2;
 
            $mailmap->{addresses}->{$wrong_address} = $real_address;
 
-       } elsif (/^(.+)<([^\s]+)>\s*<([^\s]+)>$/) {
+       } elsif (/^(.+)<([^>]+)>\s*<([^>]+)>$/) {
            my $real_name = $1;
            my $real_address = $2;
            my $wrong_address = $3;
@@ -353,7 +356,7 @@ sub read_mailmap {
            $mailmap->{names}->{$wrong_address} = $real_name;
            $mailmap->{addresses}->{$wrong_address} = $real_address;
 
-       } elsif (/^(.+)<([^\s]+)>\s*([^\s].*)<([^\s]+)>$/) {
+       } elsif (/^(.+)<([^>]+)>\s*(.+)\s*<([^>]+)>$/) {
            my $real_name = $1;
            my $real_address = $2;
            my $wrong_name = $3;
@@ -472,7 +475,6 @@ my @subsystem = ();
 my @status = ();
 my %deduplicate_name_hash = ();
 my %deduplicate_address_hash = ();
-my $signature_pattern;
 
 my @maintainers = get_maintainers();
 
@@ -920,7 +922,7 @@ sub get_maintainer_role {
     my $start = find_starting_index($index);
     my $end = find_ending_index($index);
 
-    my $role;
+    my $role = "unknown";
     my $subsystem = $typevalue[$start];
     if (length($subsystem) > 20) {
        $subsystem = substr($subsystem, 0, 17);
@@ -1016,8 +1018,13 @@ sub add_categories {
                    if ($email_list) {
                        if (!$hash_list_to{lc($list_address)}) {
                            $hash_list_to{lc($list_address)} = 1;
-                           push(@list_to, [$list_address,
-                                           "open list${list_role}"]);
+                           if ($list_additional =~ m/moderated/) {
+                               push(@list_to, [$list_address,
+                                               "moderated list${list_role}"]);
+                           } else {
+                               push(@list_to, [$list_address,
+                                               "open list${list_role}"]);
+                           }
                        }
                    }
                }