[PATCH 1/1] checkpatch: Skip CamelCase cache for --no-tree without root
From: Petr Vorel
Date: Tue May 19 2026 - 12:16:30 EST
Running outside tree (--no-tree) without git root (--root DIR) is not
doable because we have no include/ directory which could be cached. But
3445686af721 expected that we are always in Linux tree (w/a git).
But --no-tree does not require --root. Therefore skip whole caching in
that case.
This fixes perl and find errors when running checkpatch.pl *with*
--no-tree --strict and *without* --root:
No structs that should be const will be found - file 'scripts/const_structs.checkpatch': No such file or directory
Use of uninitialized value $root in concatenation (.) or string at scripts/checkpatch.pl line 1213.
find: ‘/include’: No such file or directory
Fixes: 3445686af721 ("checkpatch: ignore existing CamelCase uses from include/...")
Signed-off-by: Petr Vorel <pvorel@xxxxxxx>
---
NOTE: I found that running checkpatch.pl on projects which vendored
checkpatch.pl (e.g. LTP or u-boot).
scripts/checkpatch.pl | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 0d18771f1b01..939d2b9ecebd 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1208,6 +1208,8 @@ sub seed_camelcase_includes {
my $git_last_include_commit = `${git_command} log --no-merges --pretty=format:"%h%n" -1 -- include`;
chomp $git_last_include_commit;
$camelcase_cache = ".checkpatch-camelcase.git.$git_last_include_commit";
+ } elsif (not defined $root) {
+ return;
} else {
my $last_mod_date = 0;
$files = `find $root/include -name "*.h"`;
--
2.54.0