Re: [PATCH RESEND 1/1] checkpatch: Skip CamelCase cache for --no-tree without root
From: Ricardo B. Marlière (SUSE)
Date: Mon Aug 10 2026 - 17:44:42 EST
On Mon Aug 10, 2026 at 1:11 PM -03, Petr Vorel wrote:
> 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 4f7325fd5825..9ce1113a64de 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1206,6 +1206,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;
Reviewed-by: Ricardo B. Marlière (SUSE) <ricardo@xxxxxxxxxxxx>
> } else {
> my $last_mod_date = 0;
> $files = `find $root/include -name "*.h"`;