Re: [PATCH 1/1] checkpatch: Skip CamelCase cache for --no-tree without root

From: Petr Vorel

Date: Thu Jul 02 2026 - 17:28:55 EST


Hi,

> > 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"`;

Gently ping for a review.

Kind regards,
Petr