This is a port of the following commit from the Linux kernel:
commit 13f1937ef33950b1112049972249e6191b82e6c9
Author: Joe Perches
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
Acked-by: Andy Whitcroft
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
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
---
scripts/checkpatch.pl | 13 -
1 file changed, 12 insertions(+), 1 deletion(-)
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" .
--
1.8.3.1