One exceptions to the COMMIT_LOG_LONG_LINE rule is a file path followed by ':'. That is typically some sort diagnostic message from a compiler or a build tool, in which case we don't want to wrap the lines but keep the message unmodified. The regular expression used to match this pattern currently doesn't accept absolute paths or + characters. This can result in false positives as in the following (out-of-tree) example: ... /home/jerome/work/optee_repo_qemu/build/../toolchains/aarch32/bin/arm-linux-gnueabihf-ld.bfd: /home/jerome/work/toolchains-gcc10.2/aarch32/bin/../lib/gcc/arm-none-linux-gnueabihf/10.2.1/../../../../arm-none-linux-gnueabihf/lib/libstdc++.a(eh_alloc.o): in function `__cxa_allocate_exception': /tmp/dgboter/bbs/build03--cen7x86_64/buildbot/cen7x86_64--arm-none-linux-gnueabihf/build/src/gcc/libstdc++-v3/libsupc++/eh_alloc.cc:284: undefined reference to `malloc' ... Update the regular expression to match the above paths.
Showing the changes to scripts/checkpatch.pl (1 of 1 file). Show all
Unified · Split
| @@ -3172,7 +3172,7 @@ sub process { · 3171 unmodified lines | ||
| 3172 | 3172 | length($line) > 75 && |
| 3173 | 3173 | !($line =~ /^\s*[a-zA-Z0-9_\/\.]+\s+\|\s+\d+/ || |
| 3174 | 3174 | # file delta changes |
| 3175 | − $line =~ /^\s*(?:[\w\.\-]+\/)++[\w\.\-]+:/ || | |
| 3175 | + $line =~ /^\s*(?:[\w\.\-\+]*\/)++[\w\.\-\+]+:/ || | |
| 3176 | 3176 | # filename then : |
| 3177 | 3177 | $line =~ /^\s*(?:Fixes:|Link:|$signature_tags)/i || |
| 3178 | 3178 | # A Fixes: or Link: line or signature tag line |