Hey Denis:
Try this one please and let me know what you think...
--- scripts/checkpatch.pl | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 161ce7fe5d1e5..4e2e79eff9b8c 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -3196,26 +3196,21 @@ sub process { $orig_commit = lc($1); }
- $short = 0 if ($line =~ /\bcommit\s+[0-9a-f]{12,40}/i); - $long = 1 if ($line =~ /\bcommit\s+[0-9a-f]{41,}/i); - $space = 0 if ($line =~ /\bcommit [0-9a-f]/i); - $case = 0 if ($line =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/); - if ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+("([^"]+)")/i) { - $orig_desc = $1; - $hasparens = 1; - } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s*$/i && - defined $rawlines[$linenr] && - $rawlines[$linenr] =~ /^\s*("([^"]+)")/) { - $orig_desc = $1; - $hasparens = 1; - } elsif ($line =~ /\bcommit\s+[0-9a-f]{5,}\s+("[^"]+$/i && - defined $rawlines[$linenr] && - $rawlines[$linenr] =~ /^\s*[^"]+")/) { - $line =~ /\bcommit\s+[0-9a-f]{5,}\s+("([^"]+)$/i; + my $input = $line; + for (my $n = 0; $n < 2; $n++) { + $input .= " $rawlines[$linenr + $n]" if ($#lines >= $linenr + $n); + } + + $short = 0 if ($input =~ /\bcommit\s+[0-9a-f]{12,40}/i); + $long = 1 if ($input =~ /\bcommit\s+[0-9a-f]{41,}/i); + $space = 0 if ($input =~ /\bcommit [0-9a-f]/i); + $case = 0 if ($input =~ /\b[Cc]ommit\s+[0-9a-f]{5,40}[^A-F]/); + if ($input =~ /\bcommit\s+[0-9a-f]{5,}\s+($balanced_parens)/i) { $orig_desc = $1; - $rawlines[$linenr] =~ /^\s*([^"]+)")/; - $orig_desc .= " " . $1; $hasparens = 1; + # Always strip leading/trailing parens then double quotes if existing + $orig_desc = substr($orig_desc, 1, -1); + $orig_desc = substr($orig_desc, 1, -1) if ($orig_desc =~ /^".*"$/); }
($id, $description) = git_commit_info($orig_commit,