[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 44/50] scripts: let checkpatch.pl process an enti
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PULL 44/50] scripts: let checkpatch.pl process an entire GIT branch |
Date: |
Wed, 4 Oct 2017 16:11:07 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 04/10/2017 15:17, Alex Williamson wrote:
> Yes, it works with the new --patch option. I use stgit which does
> not add a filename extension to the patch name on export, nor have I
> ever known patch files to have any accepted standard file extension.
> checkpatch.pl has always assumed it's operating on a patch file, as
> implied by the name of the script, with an option to check regular
> files. I'd suggest maintaining behavior consistent with the script name
> using more comprehensive heuristics than a non-standard file extension.
> Thanks,
We are already limiting source files to only a handful of extensions,
perhaps we can reuse that in the DWIM mode selection code. While at it,
do not match "../foo" as a branch name:
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3c0a28e644..9eca0f8458 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -11,6 +11,8 @@ use warnings;
my $P = $0;
$P =~ address@hidden/@@g;
+our $SrcFile = qr{\.(?:h|c|cpp|s|S|pl|py|sh)$};
+
my $V = '0.31';
use Getopt::Long qw(:config no_auto_abbrev);
@@ -101,30 +103,29 @@ if ($#ARGV < 0) {
}
if (!defined $chk_branch && !defined $chk_patch && !defined $file) {
- $chk_branch = $ARGV[0] =~ /\.\./ ? 1 : 0;
- $chk_patch = $chk_branch ? 0 :
- $ARGV[0] =~ /\.patch$/ || $ARGV[0] eq "-" ? 1 : 0;
- $file = $chk_branch || $chk_patch ? 0 : 1;
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
+ $file = $ARGV[0] =~ /$SrcFile/ ? 1 : 0;
+ $chk_patch = $chk_branch || $file ? 0 : 1;
} elsif (!defined $chk_branch && !defined $chk_patch) {
if ($file) {
$chk_branch = $chk_patch = 0;
} else {
- $chk_branch = $ARGV[0] =~ /\.\./ ? 1 : 0;
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
$chk_patch = $chk_branch ? 0 : 1;
}
} elsif (!defined $chk_branch && !defined $file) {
if ($chk_patch) {
$chk_branch = $file = 0;
} else {
- $chk_branch = $ARGV[0] =~ /\.\./ ? 1 : 0;
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
$file = $chk_branch ? 0 : 1;
}
} elsif (!defined $chk_patch && !defined $file) {
if ($chk_branch) {
$chk_patch = $file = 0;
} else {
- $chk_patch = $ARGV[0] =~ /\.patch$/ || $ARGV[0] eq "-" ? 1 : 0;
- $file = $chk_patch ? 0 : 1;
+ $file = $ARGV[0] =~ /$SrcFile/ ? 1 : 0;
+ $chk_patch = $file ? 0 : 1;
}
} elsif (!defined $chk_branch) {
$chk_branch = $chk_patch || $file ? 0 : 1;
@@ -1442,7 +1443,7 @@ sub process {
}
# check we are in a valid source file if not then ignore this hunk
- next if ($realfile !~ /\.(h|c|cpp|s|S|pl|py|sh)$/);
+ next if ($realfile !~ /$SrcFile/);
#90 column limit
if ($line =~ /^\+/ &&
Paolo