Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1511112 > unrolled thread

[PATCH] scripts/checkpatch: Check for Reviewed-by under --strict

Started byChris Wilson <chris@chris-wilson.co.uk>
First post2016-10-28 14:50 +0200
Last post2016-10-28 17:00 +0200
Articles 4 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict Chris Wilson <chris@chris-wilson.co.uk> - 2016-10-28 14:50 +0200
    Re: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under        --strict Jani Nikula <jani.nikula@linux.intel.com> - 2016-10-28 15:40 +0200
      Re: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by  under        --strict Chris Wilson <chris@chris-wilson.co.uk> - 2016-10-28 16:10 +0200
    Re: [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict Joe Perches <joe@perches.com> - 2016-10-28 17:00 +0200

#1511112 — [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict

FromChris Wilson <chris@chris-wilson.co.uk>
Date2016-10-28 14:50 +0200
Subject[PATCH] scripts/checkpatch: Check for Reviewed-by under --strict
Message-ID<sxeLE-8o2-5@gated-at.bofh.it>
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 <chris@chris-wilson.co.uk>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: Joe Perches <joe@perches.com>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 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

[toc] | [next] | [standalone]


#1511136 — Re: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict

FromJani Nikula <jani.nikula@linux.intel.com>
Date2016-10-28 15:40 +0200
SubjectRe: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict
Message-ID<sxfy1-rK-19@gated-at.bofh.it>
In reply to#1511112
On Fri, 28 Oct 2016, Chris Wilson <chris@chris-wilson.co.uk> 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 <chris@chris-wilson.co.uk>
> Cc: Andy Whitcroft <apw@canonical.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
>  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

[toc] | [prev] | [next] | [standalone]


#1511150 — Re: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict

FromChris Wilson <chris@chris-wilson.co.uk>
Date2016-10-28 16:10 +0200
SubjectRe: [Intel-gfx] [PATCH] scripts/checkpatch: Check for Reviewed-by under --strict
Message-ID<sxg13-Tz-7@gated-at.bofh.it>
In reply to#1511136
On Fri, Oct 28, 2016 at 04:33:10PM +0300, Jani Nikula wrote:
> On Fri, 28 Oct 2016, Chris Wilson <chris@chris-wilson.co.uk> 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 ;)

I do believe we should be keeping the (our, my?) notion of review out of
the signed-off-by tag (which imo is a legal statement about the
provenance of a patch), and so yes we shouldn't be pushing patches that
haven't gone through the rite of fire and been seconded by someone else.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre

[toc] | [prev] | [next] | [standalone]


#1511166

FromJoe Perches <joe@perches.com>
Date2016-10-28 17:00 +0200
Message-ID<sxgNx-1cq-7@gated-at.bofh.it>
In reply to#1511112
On Fri, 2016-10-28 at 13:49 +0100, 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).

I rather dislike this as it imposes a rule outside
of what's documented in SubmittingPatches.

Ideally, please keep a private version of this.

And unless and until SubmittingPatches is updated,
please keep this separate from --strict.

> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Andy Whitcroft <apw@canonical.com>
> Cc: Joe Perches <joe@perches.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
>  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)) {

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web