2021-06-20 17:09:48

by Dwaipayan Ray

[permalink] [raw]
Subject: [PATCH RFC] checkpatch: extend unknown commit id check for multiple lines

The check for unknown commit id cannot process commit references
split across multiple lines such as:

... via commit
3945ff37d2f4 ("linux/bits.h: Extract common header for vDSO").

Extend the check to handle the above.

Signed-off-by: Dwaipayan Ray <[email protected]>
---
scripts/checkpatch.pl | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 0eb73e59e0b5..8d19beca3538 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3335,13 +3335,16 @@ sub process {
}

# check for invalid commit id
- if ($in_commit_log && $line =~ /(^fixes:|\bcommit)\s+([0-9a-f]{6,40})\b/i) {
+ if ($in_commit_log &&
+ ($line =~ /(?:^fixes:|\bcommit)\s+([0-9a-f]{6,40})\b/i ||
+ ($lines[$linenr - 2] =~ /\bcommit\s*$/i &&
+ $line =~ /^\s*([0-9a-f]{6,40})\b/i))) {
my $id;
my $description;
- ($id, $description) = git_commit_info($2, undef, undef);
+ ($id, $description) = git_commit_info($1, undef, undef);
if (!defined($id)) {
WARN("UNKNOWN_COMMIT_ID",
- "Unknown commit id '$2', maybe rebased or not pulled?\n" . $herecurr);
+ "Unknown commit id '$1', maybe rebased or not pulled?\n" . $herecurr);
}
}

--
2.28.0