diff mbox

[RFC,4/5] checkpatch: emit a reminder about MAINTAINERS on file add/move/delete

Message ID 1485436265-12573-5-git-send-email-thuth@redhat.com
State New
Headers show

Commit Message

Thomas Huth Jan. 26, 2017, 1:11 p.m. UTC
This is a port of the following commit from the Linux kernel:

commit 13f1937ef33950b1112049972249e6191b82e6c9
Author: Joe Perches <joe@perches.com>
Date:   Wed Aug 6 16:10:59 2014 -0700

    checkpatch: emit a warning on file add/move/delete

    Whenever files are added, moved, or deleted, the MAINTAINERS file
    patterns can be out of sync or outdated.

    To try to keep MAINTAINERS more up-to-date, add a one-time warning
    whenever a patch does any of those.

    Signed-off-by: Joe Perches <joe@perches.com>
    Acked-by: Andy Whitcroft <apw@canonical.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Note: I've changed the "WARNING:" into a "NOTE:" since this is often
caused by false positives, so a warning seems too harsh to me.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 scripts/checkpatch.pl | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

Comments

Stefan Hajnoczi Jan. 30, 2017, 2:15 p.m. UTC | #1
On Thu, Jan 26, 2017 at 02:11:04PM +0100, Thomas Huth wrote:
> This is a port of the following commit from the Linux kernel:
> 
> commit 13f1937ef33950b1112049972249e6191b82e6c9
> Author: Joe Perches <joe@perches.com>
> Date:   Wed Aug 6 16:10:59 2014 -0700
> 
>     checkpatch: emit a warning on file add/move/delete
> 
>     Whenever files are added, moved, or deleted, the MAINTAINERS file
>     patterns can be out of sync or outdated.
> 
>     To try to keep MAINTAINERS more up-to-date, add a one-time warning
>     whenever a patch does any of those.
> 
>     Signed-off-by: Joe Perches <joe@perches.com>
>     Acked-by: Andy Whitcroft <apw@canonical.com>
>     Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>     Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> 
> Note: I've changed the "WARNING:" into a "NOTE:" since this is often
> caused by false positives, so a warning seems too harsh to me.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  scripts/checkpatch.pl | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)

Yes!

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
diff mbox

Patch

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 52ad64a..e1be7b3 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1096,7 +1096,7 @@  sub process {
 
 	my $in_header_lines = $file ? 0 : 1;
 	my $in_commit_log = 0;		#Scanning lines before patch
-
+	my $reported_maintainer_file = 0;
 	my $non_utf8_charset = 0;
 
 	our @report = ();
@@ -1300,6 +1300,17 @@  sub process {
 			}
 		}
 
+# Check for added, moved or deleted files
+		if (!$reported_maintainer_file && !$in_commit_log &&
+		    ($line =~ /^(?:new|deleted) file mode\s*\d+\s*$/ ||
+		     $line =~ /^rename (?:from|to) [\w\/\.\-]+\s*$/ ||
+		     ($line =~ /\{\s*([\w\/\.\-]*)\s*\=\>\s*([\w\/\.\-]*)\s*\}/ &&
+		      (defined($1) || defined($2))))) {
+			$reported_maintainer_file = 1;
+			print "NOTE: added, moved or deleted file(s), "
+			      ."does MAINTAINERS need updating?\n" . $herecurr;
+		}
+
 # Check for wrappage within a valid hunk of the file
 		if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
 			ERROR("patch seems to be corrupt (line wrapped?)\n" .