Checkpatch warns of an incorrect commit reference style
for any hexadecimal number of 12 digits and more.

Numbers of 12 digits are not necessarily commit ids.

For an example provoking the problem see
https://patchwork.kernel.org/patch/9170897/

Checkpatch should only warn if the number refers to an
existing commit.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 scripts/checkpatch.pl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index a8368d1..12e6a1f 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -848,6 +848,7 @@ sub git_commit_info {
 #                  echo "commit $(cut -c 1-12,41-)"
 #              done
        } elsif ($lines[0] =~ /^fatal: ambiguous argument '$commit': unknown 
revision or path not in the working tree\./) {
+               $id = undef;
        } else {
                $id = substr($lines[0], 0, 12);
                $desc = substr($lines[0], 41);
@@ -2577,7 +2578,9 @@ sub process {
                        ($id, $description) = git_commit_info($orig_commit,
                                                              $id, $orig_desc);
 
-                       if ($short || $long || $space || $case || ($orig_desc 
ne $description) || !$hasparens) {
+                       if ($id && ($short || $long || $space || $case
+                               || ($orig_desc ne $description)
+                               || !$hasparens)) {
                                ERROR("GIT_COMMIT_ID",
                                      "Please use git commit description style 
'commit <12+ chars of sha1> (\"<title line>\")' - ie: '${init_char}ommit $id 
(\"$description\")'\n" . $herecurr);
                        }
-- 
2.1.4

Reply via email to