Skip to content

Commit 6356f18

Browse files
geertuJonathan Corbet
authored andcommitted
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: bd17e03 ("checkpatch: warn for non-standard fixes tag style") Signed-off-by: Geert Uytterhoeven <[email protected]> Link: https://lore.kernel.org/r/1c244040bf6ce304656e31036e5178b4b9dfb719.1733421037.git.geert+renesas@glider.be Signed-off-by: Jonathan Corbet <[email protected]>
1 parent 3f997cb commit 6356f18

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

Documentation/process/maintainer-tip.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ Ordering of commit tags
270270
To have a uniform view of the commit tags, the tip maintainers use the
271271
following tag ordering scheme:
272272

273-
- Fixes: 12char-SHA1 ("sub/sys: Original subject line")
273+
- Fixes: 12+char-SHA1 ("sub/sys: Original subject line")
274274

275275
A Fixes tag should be added even for changes which do not need to be
276276
backported to stable kernels, i.e. when addressing a recently introduced

Documentation/process/submitting-patches.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,10 +143,10 @@ also track such tags and take certain actions. Private bug trackers and
143143
invalid URLs are forbidden.
144144

145145
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::
150150

151151
Fixes: 54a4f0239f2e ("KVM: MMU: make kvm_mmu_zap_page() return the number of pages it actually freed")
152152

scripts/checkpatch.pl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3230,7 +3230,7 @@ sub process {
32303230
my $tag_case = not ($tag eq "Fixes:");
32313231
my $tag_space = not ($line =~ /^fixes:? [0-9a-f]{5,40} ($balanced_parens)/i);
32323232

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);
32343234
my $id_case = not ($orig_commit !~ /[A-F]/);
32353235

32363236
my $id = "0123456789ab";
@@ -3240,7 +3240,7 @@ sub process {
32403240
if ($ctitle ne $title || $tag_case || $tag_space ||
32413241
$id_length || $id_case || !$title_has_quotes) {
32423242
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) &&
32443244
$fix) {
32453245
$fixed[$fixlinenr] = "Fixes: $cid (\"$ctitle\")";
32463246
}

0 commit comments

Comments
 (0)