Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759925AbcJ1NdW (ORCPT ); Fri, 28 Oct 2016 09:33:22 -0400 Received: from mga01.intel.com ([192.55.52.88]:46389 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754599AbcJ1NdV (ORCPT ); Fri, 28 Oct 2016 09:33:21 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,410,1473145200"; d="scan'208";a="779054646" From: Jani Nikula To: Chris Wilson , linux-kernel@vger.kernel.org Cc: Andy Whitcroft , Joe Perches , intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict In-Reply-To: <20161028124944.17930-1-chris@chris-wilson.co.uk> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo References: <20161028124944.17930-1-chris@chris-wilson.co.uk> Date: Fri, 28 Oct 2016 16:33:10 +0300 Message-ID: <87y418k38p.fsf@intel.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3371 Lines: 104 On Fri, 28 Oct 2016, Chris Wilson wrote: > Some subsystem polices have a strict requirement that every patch must > have at least one reviewer before being approved for upstream. Since > encouraging review is good policy (great review is even better policy!) > enforce checking for a Reviewed-by when checkpath is run with --strict > (or with --review). Hmm, do you imply the maintainer would have to add his Reviewed-by in addition to Signed-off-by? I find that a bit too much (especially if you intend to enforce this over at our corner of the kernel ;) BR, Jani. > > Signed-off-by: Chris Wilson > Cc: Andy Whitcroft > Cc: Joe Perches > Cc: Joonas Lahtinen > --- > scripts/checkpatch.pl | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index a8368d1c4348..9eaa5a4fbbc0 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -21,6 +21,7 @@ use Getopt::Long qw(:config no_auto_abbrev); > my $quiet = 0; > my $tree = 1; > my $chk_signoff = 1; > +my $chk_review = 0; > my $chk_patch = 1; > my $tst_only; > my $emacs = 0; > @@ -69,6 +70,7 @@ Options: > -q, --quiet quiet > --no-tree run without a kernel tree > --no-signoff do not check for 'Signed-off-by' line > + --review check for 'Reviewed-by' line > --patch treat FILE as patchfile (default) > --emacs emacs compile window format > --terse one line per report > @@ -183,6 +185,7 @@ GetOptions( > 'q|quiet+' => \$quiet, > 'tree!' => \$tree, > 'signoff!' => \$chk_signoff, > + 'review!' => \$chk_review, > 'patch!' => \$chk_patch, > 'emacs!' => \$emacs, > 'terse!' => \$terse, > @@ -217,7 +220,7 @@ help(0) if ($help); > > list_types(0) if ($list_types); > > -$fix = 1 if ($fix_inplace); > +$chk_review = 1 if ($check); # --strict implies checking for Reviewed-by > $check_orig = $check; > > my $exit = 0; > @@ -857,6 +860,7 @@ sub git_commit_info { > } > > $chk_signoff = 0 if ($file); > +$chk_review = 0 if ($file); > > my @rawlines = (); > my @lines = (); > @@ -2130,6 +2134,7 @@ sub process { > > our $clean = 1; > my $signoff = 0; > + my $review = 0; > my $is_patch = 0; > my $in_header_lines = $file ? 0 : 1; > my $in_commit_log = 0; #Scanning lines before patch > @@ -2400,6 +2405,12 @@ sub process { > $in_commit_log = 0; > } > > +# Check the patch for any review: > + if ($line =~ /^\s*reviewed-by:/i) { > + $review++; > + $in_commit_log = 0; > + } > + > # Check if MAINTAINERS is being updated. If so, there's probably no need to > # emit the "does MAINTAINERS need updating?" message on file add/move/delete > if ($line =~ /^\s*MAINTAINERS\s*\|/) { > @@ -6204,6 +6215,10 @@ sub process { > ERROR("MISSING_SIGN_OFF", > "Missing Signed-off-by: line(s)\n"); > } > + if ($is_patch && $has_commit_log && $chk_review && $review == 0) { > + ERROR("MISSING_REVIEW", > + "Missing Reviewed-by: line(s)\n"); > + } > > print report_dump(); > if ($summary && !($clean == 1 && $quiet == 1)) { -- Jani Nikula, Intel Open Source Technology Center