From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56137) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XgruM-0000Mn-9N for qemu-devel@nongnu.org; Wed, 22 Oct 2014 05:08:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XgruG-0006Cp-MU for qemu-devel@nongnu.org; Wed, 22 Oct 2014 05:08:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:41451) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XgruG-0006Cl-FA for qemu-devel@nongnu.org; Wed, 22 Oct 2014 05:08:36 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s9M98aOK021191 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Wed, 22 Oct 2014 05:08:36 -0400 From: Paolo Bonzini Date: Wed, 22 Oct 2014 11:08:22 +0200 Message-Id: <1413968902-24094-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1413968902-24094-1-git-send-email-pbonzini@redhat.com> References: <1413968902-24094-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 4/4] get_maintainer.pl: point at --git-fallback instead of enabling it automatically List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: armbru@redhat.com, mst@redhat.com The list emitted by --git-fallback often leads inexperienced contributors to add pointless CCs. While not discouraging usage of --git-fallback, we want to warn the contributors about using their common sense. So, default to *not* enabling --git-fallback, but print a message if none of the files has a match against MAINTAINERS. Of course the message is hidden by --no-git-fallback. Examples: 1) No maintainer for all specified files, print message: $ scripts/get_maintainer.pl -f util/cutils.c No maintainers found. You may want to try --git-fallback to find recent contributors. Do not blindly cc: them on patches! Use common sense. 2) No maintainer for some of the specified files, behave entirely as if the user specified --no-git-fallback. $ scripts/get_maintainer.pl -f util/cutils.c hw/ide/core.c Kevin Wolf (odd fixer:IDE) Stefan Hajnoczi (odd fixer:IDE) 3) Explicit disable, do not print message: $ scripts/get_maintainer.pl -f util/cutils.c --no-git-fallback $ echo $? 1 Suggested-by: Markus Armbruster Signed-off-by: Paolo Bonzini --- scripts/get_maintainer.pl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl index 7c6d186..c8537fd 100755 --- a/scripts/get_maintainer.pl +++ b/scripts/get_maintainer.pl @@ -28,7 +28,7 @@ my $email_git = 0; my $email_git_all_signature_types = 0; my $email_git_blame = 0; my $email_git_blame_signatures = 1; -my $email_git_fallback = 1; +my $email_git_fallback = undef; my $email_git_min_signatures = 1; my $email_git_max_maintainers = 5; my $email_git_min_percent = 5; @@ -235,6 +235,7 @@ if (-t STDIN && !@ARGV) { } $output_multiline = 0 if ($output_separator ne ", "); +$email_git_fallback = 1 if ($interactive && ! defined $email_git_fallback); $output_rolestats = 1 if ($interactive); $output_roles = 1 if ($output_rolestats); @@ -633,6 +634,14 @@ sub get_maintainers { } if ($email) { + if (@email_to == 0 && @list_to == 0 && + ! $email_git && ! $email_git_blame && ! defined $email_git_fallback) { + print STDERR "No maintainers found.\n"; + print STDERR "You may want to try --git-fallback to find recent contributors.\n"; + print STDERR "Do not blindly cc: them on patches! Use common sense.\n"; + } + + $email_git_fallback = 0 if ! defined $email_git_fallback; foreach my $file (@files) { if ($email_git || ($email_git_fallback && !$exact_pattern_match_hash{$file})) { @@ -711,7 +720,7 @@ MAINTAINER field selection options: --git => include recent git \*-by: signers --git-all-signature-types => include signers regardless of signature type or use only ${signature_pattern} signers (default: $email_git_all_signature_types) - --git-fallback => use git when no exact MAINTAINERS pattern (default: $email_git_fallback) + --git-fallback => use git when no exact MAINTAINERS pattern (default: same value as --interactive) --git-chief-penguins => include ${penguin_chiefs} --git-min-signatures => number of signatures required (default: $email_git_min_signatures) --git-max-maintainers => maximum maintainers to add (default: $email_git_max_maintainers) -- 1.8.3.1