Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Align git commit ID abbreviation guidelines and checks

The guidelines for git commit ID abbreviation are inconsistent: some
places state to use 12 characters exactly, while other places recommend
12 characters or more. The same issue is present in the checkpatch.pl
script.

E.g. Documentation/dev-tools/checkpatch.rst says:

**GIT_COMMIT_ID**
The proper way to reference a commit id is:
commit <12+ chars of sha1> ("<title line>")

However, scripts/checkpatch.pl has two different checks: one warning
check accepting 12 characters exactly:

# Check Fixes: styles is correct
Please use correct Fixes: style 'Fixes: <12 chars of sha1> (\"<title line>\")'

and a second error check accepting 12-40 characters:

# Check for git id commit length and improperly formed commit descriptions
# A correctly formed commit description is:
# commit <SHA-1 hash length 12+ chars> ("Complete commit subject")
Please use git commit description style 'commit <12+ chars of sha1>

Hence patches containing commit IDs with more than 12 characters are
flagged by checkpatch, and sometimes rejected by maintainers or
reviewers. This is becoming more important with the growth of the
repository, as git may decide to use more characters in case of local
conflicts.

Fix this by settling on at least 12 characters, in both the
documentation and in the checkpatch.pl script.

Fixes: bd17e036b495bebb ("checkpatch: warn for non-standard fixes tag style")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/1c244040bf6ce304656e31036e5178b4b9dfb719.1733421037.git.geert+renesas@glider.be
Signed-off-by: Jonathan Corbet <corbet@lwn.net>

authored by

Geert Uytterhoeven and committed by
Jonathan Corbet
6356f18f 3f997cbf

+7 -7
+1 -1
Documentation/process/maintainer-tip.rst
··· 270 270 To have a uniform view of the commit tags, the tip maintainers use the 271 271 following tag ordering scheme: 272 272 273 - - Fixes: 12char-SHA1 ("sub/sys: Original subject line") 273 + - Fixes: 12+char-SHA1 ("sub/sys: Original subject line") 274 274 275 275 A Fixes tag should be added even for changes which do not need to be 276 276 backported to stable kernels, i.e. when addressing a recently introduced
+4 -4
Documentation/process/submitting-patches.rst
··· 143 143 invalid URLs are forbidden. 144 144 145 145 If your patch fixes a bug in a specific commit, e.g. you found an issue using 146 - ``git bisect``, please use the 'Fixes:' tag with the first 12 characters of 147 - the SHA-1 ID, and the one line summary. Do not split the tag across multiple 148 - lines, tags are exempt from the "wrap at 75 columns" rule in order to simplify 149 - parsing scripts. For example:: 146 + ``git bisect``, please use the 'Fixes:' tag with at least the first 12 147 + characters of the SHA-1 ID, and the one line summary. Do not split the tag 148 + across multiple lines, tags are exempt from the "wrap at 75 columns" rule in 149 + order to simplify parsing scripts. For example:: 150 150 151 151 Fixes: 54a4f0239f2e ("KVM: MMU: make kvm_mmu_zap_page() return the number of pages it actually freed") 152 152
+2 -2
scripts/checkpatch.pl
··· 3230 3230 my $tag_case = not ($tag eq "Fixes:"); 3231 3231 my $tag_space = not ($line =~ /^fixes:? [0-9a-f]{5,40} ($balanced_parens)/i); 3232 3232 3233 - my $id_length = not ($orig_commit =~ /^[0-9a-f]{12}$/i); 3233 + my $id_length = not ($orig_commit =~ /^[0-9a-f]{12,40}$/i); 3234 3234 my $id_case = not ($orig_commit !~ /[A-F]/); 3235 3235 3236 3236 my $id = "0123456789ab"; ··· 3240 3240 if ($ctitle ne $title || $tag_case || $tag_space || 3241 3241 $id_length || $id_case || !$title_has_quotes) { 3242 3242 if (WARN("BAD_FIXES_TAG", 3243 - "Please use correct Fixes: style 'Fixes: <12 chars of sha1> (\"<title line>\")' - ie: 'Fixes: $cid (\"$ctitle\")'\n" . $herecurr) && 3243 + "Please use correct Fixes: style 'Fixes: <12+ chars of sha1> (\"<title line>\")' - ie: 'Fixes: $cid (\"$ctitle\")'\n" . $herecurr) && 3244 3244 $fix) { 3245 3245 $fixed[$fixlinenr] = "Fixes: $cid (\"$ctitle\")"; 3246 3246 }