On Mon, 2020-08-24 at 17:09 -0700, Joe Perches wrote: > If a file exists in git and checkpatch is used without the -f > flag for scanning a file, then checkpatch will scan the file > assuming it's a patch and emit: > > ERROR: Does not appear to be a unified-diff format patch > > Change the behavior to assume the -f flag if the file exists > in git.
Andrew? ping? > Signed-off-by: Joe Perches <j...@perches.com> > --- > scripts/checkpatch.pl | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > index 79fc357b18cd..cdee7cfadc11 100755 > --- a/scripts/checkpatch.pl > +++ b/scripts/checkpatch.pl > @@ -976,6 +976,16 @@ sub seed_camelcase_includes { > } > } > > +sub git_is_single_file { > + my ($filename) = @_; > + > + return 0 if ((which("git") eq "") || !(-e "$gitroot")); > + > + my $output = `${git_command} ls-files -- $filename`; > + my $count = $output =~ tr/\n//; > + return $count eq 1 && $output =~ m{^${filename}$}; > +} > + > sub git_commit_info { > my ($commit, $id, $desc) = @_; > > @@ -1049,6 +1059,9 @@ my $vname; > $allow_c99_comments = !defined $ignore_type{"C99_COMMENT_TOLERANCE"}; > for my $filename (@ARGV) { > my $FILE; > + my $is_git_file = git_is_single_file($filename); > + my $oldfile = $file; > + $file = 1 if ($is_git_file); > if ($git) { > open($FILE, '-|', "git format-patch -M --stdout -1 $filename") > || > die "$P: $filename: git format-patch failed - $!\n"; > @@ -1093,6 +1106,7 @@ for my $filename (@ARGV) { > @modifierListFile = (); > @typeListFile = (); > build_types(); > + $file = $oldfile if ($is_git_file); > } > > if (!$quiet) { >