Re: outside repository fatal error

From: Joe Perches
Date: Sun Sep 20 2020 - 11:38:37 EST


On Sun, 2020-09-20 at 13:53 +0200, Julia Lawall wrote:
> The commit bcf4271d4bc3 ("checkpatch: allow not using -f with files that
> are in git") in linux-next seems to cause checkpatch to fail on a file
> containing a patch if that file is not in the directory containing the
> Linux kernel.

Thanks for the report.

> Is that intentional?

No. It doesn't really fail, it just emits a fatal
warning from git.

I believe this makes it better by silencing the error.
---
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3e474072aa90..469f8e7456df 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -981,7 +981,7 @@ sub git_is_single_file {

return 0 if ((which("git") eq "") || !(-e "$gitroot"));

- my $output = `${git_command} ls-files -- $filename`;
+ my $output = `${git_command} ls-files -- $filename 2>/dev/null`;
my $count = $output =~ tr/\n//;
return $count eq 1 && $output =~ m{^${filename}$};
}