MAINTAINERS, get_maintainer.pl: Add Designated Reviewer (R:) role
authorLars Kurth <lars.kurth@citrix.com>
Tue, 1 May 2018 08:03:12 +0000 (09:03 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 1 May 2018 12:43:20 +0000 (13:43 +0100)
The syntax has been copied from the Linux Maintainers file. I moved the following Linux
get_maintainer.pl patches to Xen, fixing up some merge issues (and a bug).

The get_maintainer.pl changes were based on the following git commits
* https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/scripts/get_maintainer.pl?id=
c1c3f2c906e35bcb6e4cdf5b8e077660fead14fe
4f07510df2e8c47fd65b8ffaaf6c5d334d59d598

I also removed code related to
  P: Person (obsolete)
which is in the Linux MAINTAINER's file, but not ours. I may not have
caught all instances though.

I have tested on a number of files using mock entries in MAINTAINERS
using ./scripts/get_maintainer.pl -f ...

I also tested --nor to disable the support and it worked as expected.

Cc: Lars Kurth <lars.kurth@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien.grall@arm.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tim Deegan <tim@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <jgross@suse.com>
Signed-off-by: Lars Kurth <lars.kurth@citrix.com>
Release-acked-by: Juergen Gross <jgross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
MAINTAINERS
scripts/get_maintainer.pl

index bbda4b9f435bc62911ce4d79f30d8667a1b002c7..c6a034f0146bf305d29b6dc7cc1bdbd3e75f5ff7 100644 (file)
@@ -60,6 +60,10 @@ appropriate branch.
 Descriptions of section entries:
 
        M: Mail patches to: FullName <address@domain>
+       R: Designated reviewer: FullName <address@domain>
+          Reviewers should be CCed on patches.  However, they do not
+          have a formal governance role, and are listed here
+          simply because of their own request.
        L: Mailing list that is relevant to this area
        W: Web-page with status/info
        T: SCM tree type and location.  Type is one of: git, hg, quilt, stgit.
index 3fb1ad4b694d68d5f90ad642420d4b50b934ed2b..d528da738c6c7329d886afe630b2bb64315ff4e0 100755 (executable)
@@ -21,6 +21,7 @@ my $xen_path = "./";
 my $email = 1;
 my $email_usename = 1;
 my $email_maintainer = 1;
+my $email_reviewer = 1;
 my $email_list = 1;
 my $email_subscriber_list = 0;
 my $email_git_penguin_chiefs = 0;
@@ -199,6 +200,7 @@ if (!GetOptions(
                'mailmap!' => \$email_use_mailmap,
                'drop_the_rest_supporter!' => \$email_drop_the_rest_supporter_if_supporter_found,
                'm!' => \$email_maintainer,
+               'r!' => \$email_reviewer,
                'n!' => \$email_usename,
                'l!' => \$email_list,
                's!' => \$email_subscriber_list,
@@ -257,7 +259,8 @@ if ($sections) {
 }
 
 if ($email &&
-    ($email_maintainer + $email_list + $email_subscriber_list +
+    ($email_maintainer + $email_reviewer +
+     $email_list + $email_subscriber_list +
      $email_git + $email_git_penguin_chiefs + $email_git_blame) == 0) {
     die "$P: Please select at least 1 email option\n";
 }
@@ -791,6 +794,7 @@ MAINTAINER field selection options:
     --hg-since => hg history to use (default: $email_hg_since)
     --interactive => display a menu (mostly useful if used with the --git option)
     --m => include maintainer(s) if any
+    --r => include reviewer(s) if any
     --n => include name 'Full Name <addr\@domain.tld>'
     --l => include list(s) if any
     --s => include subscriber only list(s) if any
@@ -817,7 +821,7 @@ Other options:
   --help => show this help information
 
 Default options:
-  [--email --nogit --git-fallback --m --n --l --multiline -pattern-depth=0
+  [--email --nogit --git-fallback --m --r --n --l --multiline -pattern-depth=0
    --remove-duplicates --rolestats]
 
 Notes:
@@ -1080,21 +1084,15 @@ sub add_categories {
                }
            } elsif ($ptype eq "M") {
                my ($name, $address) = parse_email($pvalue);
-               if ($name eq "") {
-                   if ($i > 0) {
-                       my $tv = $typevalue[$i - 1];
-                       if ($tv =~ m/^([A-Z]):\s*(.*)/) {
-                           if ($1 eq "P") {
-                               $name = $2;
-                               $pvalue = format_email($name, $address, $email_usename);
-                           }
-                       }
-                   }
-               }
                if ($email_maintainer) {
                    my $role = get_maintainer_role($i);
                    push_email_addresses($pvalue, $role);
                }
+           } elsif ($ptype eq "R") {
+               my ($name, $address) = parse_email($pvalue);
+               if ($email_reviewer) {
+                   push_email_addresses($pvalue, 'reviewer');
+               }
            } elsif ($ptype eq "T") {
                push(@scm, $pvalue);
            } elsif ($ptype eq "W") {