diff mbox

get_maintainer.pl: Default to --no-git-fallback

Message ID 54456C33.3000604@terremark.com
State New
Headers show

Commit Message

Don Slutz Oct. 20, 2014, 8:10 p.m. UTC
On 10/20/14 15:03, Michael S. Tsirkin wrote:
> On Mon, Oct 20, 2014 at 03:19:52PM +0100, Peter Maydell wrote:
>> On 20 October 2014 15:15, Michael S. Tsirkin <mst@redhat.com> wrote:
>>> On Mon, Oct 20, 2014 at 03:04:44PM +0100, Peter Maydell wrote:
>>>> On 20 October 2014 10:19, Markus Armbruster <armbru@redhat.com> wrote:
>>>>> Contributors rely on this script to find maintainers to copy.  The
>>>>> script falls back to git when no exact MAINTAINERS pattern matches.
>>>>> When that happens, recent contributors get copied, which tends not be
>>>>> particularly useful.  Some contributors find it even annoying.
>>>>>
>>>>> Flip the default to "don't fall back to git".  Use --git-fallback to
>>>>> ask it to fall back to git.
>>>> Good idea.
>>> What do you want to happen in this case?
>> It should mail the people who are actually maintainers,
>> not anybody who happened to touch the code in the last
>> year.
> Right but as often as not there's no data about that
> in MAINTAINERS.
>
>
>>> I'm yet to see contributors who are annoyed but we
>>> can always blacklist specific people.
>> At the moment I just don't use get_maintainers.pl at
>> all because I tried it a few times and it just cc'd
>> a bunch of irrelevant people...
>>
>> I suspect anybody using it at the moment is either
>> using the --no-git-fallback flag or trimming the
>> cc list a lot.
>>
>> thanks
>> -- PMM
> I'm using it: sometimes with --no-git-fallback, sometimes without.
>
> IIUC the default is to have up to 5 people on the Cc list
> (--git-max-maintainers).
> It's not like it adds 200 random people, is it?
>
> Anyway experienced contributors can figure it out IMHO.
>
>
> Question in my mind is what do we want a casual contributor
> to do if there's no one listed in MAINTAINERS.
> "Look in MAINTAINERS, if not there, look in git log"
> sounds very reasonable to me, better than "CC no one".
>

Here is a possible patch (based on a xen change).  It adds the special
supporter:THE REST

Which is listed at the end of MAINTAINERS.  I included a quick guess...

    -Don Slutz

 From 82bd0d1dcfc5d17d1b72e12b2da3c9bb51e09a48 Mon Sep 17 00:00:00 2001
From: Don Slutz <dslutz@verizon.com>
Date: Mon, 20 Oct 2014 16:06:35 -0400
Subject: [PATCH] get_maintainer.pl: Add 'THE REST'

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
  MAINTAINERS               |  8 ++++++++
  scripts/get_maintainer.pl | 15 +++++++++++++++
  2 files changed, 23 insertions(+)

                 'l!' => \$email_list,
@@ -647,6 +649,19 @@ sub get_maintainers {
         }
      }

+    if ($email_drop_the_rest_supporter_if_supporter_found && $#email_to 
 > 0) {
+        my @email_new;
+        my $do_replace = 0;
+        foreach my $email (@email_to) {
+            if ($email->[1] ne 'supporter:THE REST') {
+                $do_replace = 1;
+                push @email_new, $email;
+            }
+        }
+        @email_to = @email_new
+            if $do_replace;
+    }
+
      foreach my $email (@email_to, @list_to) {
         $email->[0] = deduplicate_email($email->[0]);
      }

Comments

Peter Maydell Oct. 20, 2014, 9:07 p.m. UTC | #1
On 20 October 2014 21:10, Don Slutz <dslutz@verizon.com> wrote:
> Here is a possible patch (based on a xen change).  It adds the special
> supporter:THE REST
>
> Which is listed at the end of MAINTAINERS.  I included a quick guess...

> +THE REST
> +M: Michael S. Tsirkin <mst@redhat.com>
> +M: Peter Maydell <peter.maydell@linaro.org>
> +L: qemu-devel@nongnu.org
> +S: Supported
> +F: *
> +F: */

I don't know about MST but I think this is a terrible idea :-)
If I get cc'd on everything then the cc just becomes noise
(TBH I already don't put a huge weighting on qemu-devel mail
cc'd to me or not).

On the other hand, if we made this fallback cc
qemu-unmaintained@ or some similar list that might actually
be useful, since (a) it flags up for submitters that their
contribution may be in an unmaintained gap (b) anybody who
cares can easily go through the list and fish things out
(c) we might be prompted to fix missing MAINTAINERS entries.

-- PMM
diff mbox

Patch

From 82bd0d1dcfc5d17d1b72e12b2da3c9bb51e09a48 Mon Sep 17 00:00:00 2001
From: Don Slutz <dslutz@verizon.com>
Date: Mon, 20 Oct 2014 16:06:35 -0400
Subject: [PATCH] get_maintainer.pl: Add 'THE REST'

Signed-off-by: Don Slutz <dslutz@verizon.com>
---
 MAINTAINERS               |  8 ++++++++
 scripts/get_maintainer.pl | 15 +++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 206bf7e..527227a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1018,3 +1018,11 @@  M: Chrysostomos Nanakos <cnanakos@grnet.gr>
 M: Chrysostomos Nanakos <chris@include.gr>
 S: Maintained
 F: block/archipelago.c
+
+THE REST
+M: Michael S. Tsirkin <mst@redhat.com>
+M: Peter Maydell <peter.maydell@linaro.org>
+L: qemu-devel@nongnu.org
+S: Supported
+F: *
+F: */
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 38334de..eef16ee 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -37,6 +37,7 @@  my $email_hg_since = "-365";
 my $interactive = 0;
 my $email_remove_duplicates = 1;
 my $email_use_mailmap = 1;
+my $email_drop_the_rest_supporter_if_supporter_found = 1;
 my $output_multiline = 1;
 my $output_separator = ", ";
 my $output_roles = 0;
@@ -196,6 +197,7 @@  if (!GetOptions(
 		'i|interactive!' => \$interactive,
 		'remove-duplicates!' => \$email_remove_duplicates,
 		'mailmap!' => \$email_use_mailmap,
+		'drop_the_rest_supporter!' => \$email_drop_the_rest_supporter_if_supporter_found,
 		'm!' => \$email_maintainer,
 		'n!' => \$email_usename,
 		'l!' => \$email_list,
@@ -647,6 +649,19 @@  sub get_maintainers {
 	}
     }
 
+    if ($email_drop_the_rest_supporter_if_supporter_found && $#email_to > 0) {
+        my @email_new;
+        my $do_replace = 0;
+        foreach my $email (@email_to) {
+            if ($email->[1] ne 'supporter:THE REST') {
+                $do_replace = 1;
+                push @email_new, $email;
+            }
+        }
+        @email_to = @email_new
+            if $do_replace;
+    }
+
     foreach my $email (@email_to, @list_to) {
 	$email->[0] = deduplicate_email($email->[0]);
     }
-- 
1.8.4