Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759832AbcJ1Mtw (ORCPT ); Fri, 28 Oct 2016 08:49:52 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:36581 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756204AbcJ1Mtu (ORCPT ); Fri, 28 Oct 2016 08:49:50 -0400 From: Chris Wilson To: linux-kernel@vger.kernel.org Cc: intel-gfx@lists.freedesktop.org, Chris Wilson , Andy Whitcroft , Joe Perches , Joonas Lahtinen Subject: [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict Date: Fri, 28 Oct 2016 13:49:44 +0100 Message-Id: <20161028124944.17930-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.10.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2864 Lines: 93 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). 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)) { -- 2.10.1