History

checkpatch: avoid some commit message long line warnings

Fixes: and Link: lines may exceed 75 chars in the commit log. So too can stack dump and dmesg lines and lines that seem like filenames. And Fixes: lines don't need to have a "commit" prefix before the commit id. Add exceptions for these types of lines.

Joe Perches committed 11 years ago

Commit bf4daf11 parent 6e300751 file · +27 −3Browse files

Showing the changes to scripts/checkpatch.pl (1 of 1 file). Show all

Unified · Split

scripts/checkpatch.pl+27−3
@@ -1953,9 +1953,9 @@ sub process { · 1952 unmodified lines
19531953 our $clean = 1;
19541954 my $signoff = 0;
19551955 my $is_patch = 0;
1956−
19571956 my $in_header_lines = $file ? 0 : 1;
19581957 my $in_commit_log = 0; #Scanning lines before patch
1958+ my $commit_log_possible_stack_dump = 0;
19591959 my $commit_log_long_line = 0;
19601960 my $commit_log_has_diff = 0;
19611961 my $reported_maintainer_file = 0;
@@ -2314,16 +2314,40 @@ sub process { · 352 unmodified lines
23142314
23152315 # Check for line lengths > 75 in commit log, warn once
23162316 if ($in_commit_log && !$commit_log_long_line &&
2317− length($line) > 75) {
2317+ length($line) > 75 &&
2318+ !($line =~ /^\s*[a-zA-Z0-9_\/\.]+\s+\|\s+\d+/ ||
2319+ # file delta changes
2320+ $line =~ /^\s*(?:[\w\.\-]+\/)++[\w\.\-]+:/ ||
2321+ # filename then :
2322+ $line =~ /^\s*(?:Fixes:|Link:)/i ||
2323+ # A Fixes: or Link: line
2324+ $commit_log_possible_stack_dump)) {
23182325 WARN("COMMIT_LOG_LONG_LINE",
23192326 "Possible unwrapped commit description (prefer a maximum 75 chars per line)\n" . $herecurr);
23202327 $commit_log_long_line = 1;
23212328 }
23222329
2330+# Check if the commit log is in a possible stack dump
2331+ if ($in_commit_log && !$commit_log_possible_stack_dump &&
2332+ ($line =~ /^\s*(?:WARNING:|BUG:)/ ||
2333+ $line =~ /^\s*\[\s*\d+\.\d{6,6}\s*\]/ ||
2334+ # timestamp
2335+ $line =~ /^\s*\[\<[0-9a-fA-F]{8,}\>\]/)) {
2336+ # stack dump address
2337+ $commit_log_possible_stack_dump = 1;
2338+ }
2339+
2340+# Reset possible stack dump if a blank line is found
2341+ if ($in_commit_log && $commit_log_possible_stack_dump &&
2342+ $line =~ /^\s*$/) {
2343+ $commit_log_possible_stack_dump = 0;
2344+ }
2345+
23232346 # Check for git id commit length and improperly formed commit descriptions
23242347 if ($in_commit_log &&
23252348 ($line =~ /\bcommit\s+[0-9a-f]{5,}\b/i ||
2326− $line =~ /\b[0-9a-f]{12,40}\b/i)) {
2349+ ($line =~ /\b[0-9a-f]{12,40}\b/i &&
2350+ $line !~ /\bfixes:\s*[0-9a-f]{12,40}/i))) {
23272351 my $init_char = "c";
23282352 my $orig_commit = "";
23292353 my $short = 1;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t