Commit 1e85572697b348b1a126520349a29654f2ae6a12

Authored by Wolfram Sang
Committed by Linus Torvalds
1 parent 2a5a2c2522

checkpatch: Add warning for p0-patches

Some people work internally with -p0-patches which has the danger that one
forgets to convert them to -p1 before mainlining.  Bitten myself and seen
p0-patches in mailing lists occasionally, this patch adds a warning to
checkpatch.pl in case a patch is -p0.  If you really want, you can fool
this check to generate false positives, this is why it just spits a
warning.  Making the check 100% proof is trickier than it looks, so let's
start with a version which catches the cases of real use.

[apw@canonical.com: update message language, handle null prefix, add tests]
Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

Showing 1 changed file with 7 additions and 1 deletions Side-by-side Diff

scripts/checkpatch.pl
... ... @@ -1057,6 +1057,7 @@
1057 1057 my $in_comment = 0;
1058 1058 my $comment_edge = 0;
1059 1059 my $first_line = 0;
  1060 + my $p1_prefix = '';
1060 1061  
1061 1062 my $prev_values = 'E';
1062 1063  
... ... @@ -1205,7 +1206,12 @@
1205 1206 # extract the filename as it passes
1206 1207 if ($line=~/^\+\+\+\s+(\S+)/) {
1207 1208 $realfile = $1;
1208   - $realfile =~ s@^[^/]*/@@;
  1209 + $realfile =~ s@^([^/]*)/@@;
  1210 +
  1211 + $p1_prefix = $1;
  1212 + if ($tree && $p1_prefix ne '' && -e "$root/$p1_prefix") {
  1213 + WARN("patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n");
  1214 + }
1209 1215  
1210 1216 if ($realfile =~ m@^include/asm/@) {
1211 1217 ERROR("do not modify files in include/asm, change architecture specific files in include/asm-<architecture>\n" . "$here$rawline\n");