From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48613) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xh1XL-0000l1-6l for qemu-devel@nongnu.org; Wed, 22 Oct 2014 15:25:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xh1XG-0006s5-9g for qemu-devel@nongnu.org; Wed, 22 Oct 2014 15:25:35 -0400 Received: from fldsmtpe04.verizon.com ([140.108.26.143]:62841) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xh1XF-0006rj-GS for qemu-devel@nongnu.org; Wed, 22 Oct 2014 15:25:29 -0400 From: Don Slutz Message-ID: <544804A5.6090202@terremark.com> Date: Wed, 22 Oct 2014 15:25:25 -0400 MIME-Version: 1.0 References: <1413796790-30579-1-git-send-email-armbru@redhat.com> <20141020141548.GA11062@redhat.com> <544556A1.3020405@redhat.com> <87r3y1tukp.fsf@blackfin.pond.sub.org> <20141021223129.GD18051@redhat.com> <8738agegfv.fsf@blackfin.pond.sub.org> <20141022071257.GA24952@redhat.com> <871tq0jzti.fsf@blackfin.pond.sub.org> <20141022082932.GB7797@redhat.com> In-Reply-To: <20141022082932.GB7797@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] get_maintainer.pl: Default to --no-git-fallback List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" , Markus Armbruster Cc: Paolo Bonzini , QEMU Developers , Peter Maydell On 10/22/14 04:29, Michael S. Tsirkin wrote: > On Wed, Oct 22, 2014 at 10:03:53AM +0200, Markus Armbruster wrote: >> "Michael S. Tsirkin" writes: >> >>> On Wed, Oct 22, 2014 at 09:01:24AM +0200, Markus Armbruster wrote: >>>> "Michael S. Tsirkin" writes: >>>> >>>>> On Tue, Oct 21, 2014 at 03:34:46PM +0200, Markus Armbruster wrote: >>>>>> Paolo Bonzini writes: >>>>>> >>>>>>> On 10/20/2014 04:15 PM, Michael S. Tsirkin wrote: >>>>>>>> What do you want to happen in this case? >>>>>>>> Won't this cause even more patches to fall to the floor? >>>>>>>> >>>>>>>> The benefit seems marginal, the risk high. >>>>>>> I agree with Michael. >>>>>>> >>>>>>> Can we detect if get_maintainer.pl is invoked as a cccmd, and in this >>>>>>> case default to --no-git-fallback? If it is invoked manually, I would >>>>>>> like to show the committers (I will then cherry pick the right ones). >>>>>> I don't like context-sensitive defaults. Too much magic. >>>>>> >>>>>> What about this: if get_maintainer.pl comes up empty, it points you to >>>>>> --git-fallback. >>>>> This is exactly what it's doing now :) >>>> Nope. This is what it's doing now: >>>> >>>> $ scripts/get_maintainer.pl -f util/cutils.c >>>> Luiz Capitulino (commit_signer:1/2=50%) >>>> Eric Blake (commit_signer:1/2=50%) >>>> Alexey Kardashevskiy (commit_signer:1/2=50%) >>>> Laszlo Ersek (commit_signer:1/2=50%) >>>> Amit Shah (commit_signer:1/2=50%) >>>> >>>> A sufficiently seasoned contributor will spot the "commit_signer" tags, >>>> and the output as a hint to find people to copy. In this particular >>>> case, he'll recognize the hint is useless. Maybe he'll try something >>>> like --git-since 2010 or --git-blame then. I'd just peruse git-log. >>>> >>>> A less seasoned contributor will blindly copy all five. >>> I give up. What's the correct answer? >>> I frankly don't know whom should one copy on this file. >>> Fabrice? >> Fabrice would be a textbook example of a useless cc. >> >> I'd pick based on the patch's contents. For instance, if it fixes a >> function that is used by block stuff only, try copying block >> maintainers. You get the idea. It's an art, not something a dumb >> script can do. >> >> An inexperienced contributor probably won't be able to find out whom to >> copy here. Making him send out five mostly useless copies is not a >> solution. > Maybe disable fallback just for utils: > > +UTIL > +M: qemu-devel@nongnu.org > +S: Odd Fixes > +F: util/ > >> Don proposed adding a catchall maintainer, and Peter refined >> it to qemu-unmaintained@... This could serve as a formal cry "I have no >> idea who could review this, please help me". >> >> [...] > The list is a good idea. But I'd like a flag to avoid adding that > automatically. Call it --expert or whatever. So need to write some > code in get_maintainer. > I.E just what I proposed. Here is an adjusted version. I have not posted it as a patch because the list is missing... -Don Slutz From cf608abd785cc55c292215f2b7f18370eaf0969c Mon Sep 17 00:00:00 2001 From: Don Slutz Date: Mon, 20 Oct 2014 16:06:35 -0400 Subject: [PATCH] get_maintainer.pl: Add 'THE REST' For an example of how this might look: k=50;i=0;for sha in $(git log --no-merges --format=format:"%h" -$k);do let i=$i+1 git show $sha >/tmp/a clear echo $i head -20 /tmp/a echo echo echo to: ./scripts/get_maintainer.pl --no-git-fallback --no-m /tmp/a echo echo cc: ./scripts/get_maintainer.pl --no-git-fallback --no-l /tmp/a echo echo to \(git-fallback\): ./scripts/get_maintainer.pl --git-fallback --no-m /tmp/a echo echo cc \(git-fallback\): ./scripts/get_maintainer.pl --git-fallback --no-l /tmp/a read foo done;echo Check $i Signed-off-by: Don Slutz --- MAINTAINERS | 9 +++++++++ scripts/get_maintainer.pl | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/MAINTAINERS b/MAINTAINERS index 206bf7e..14abb0b 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1018,3 +1018,12 @@ M: Chrysostomos Nanakos M: Chrysostomos Nanakos S: Maintained F: block/archipelago.c + +Everything not covered above +---------------------------- +THE REST +M: qemu-unmaintained@nongnu.org +L: qemu-devel@nongnu.org +S: Orphan +F: * +F: */ diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index d5eee8c..b9580b0 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_orphan_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_orphan!' => \$email_drop_the_rest_orphan_if_supporter_found, 'm!' => \$email_maintainer, 'n!' => \$email_usename, 'l!' => \$email_list, @@ -647,6 +649,19 @@ sub get_maintainers { } } + if ($email_drop_the_rest_orphan_if_supporter_found && $#email_to > 0) { + my @email_new; + my $do_replace = 0; + foreach my $email (@email_to) { + if ($email->[1] ne 'orphan minder: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