* [PATCH] docs: git SHA prefixes are for humans
@ 2024-12-16 1:27 Kees Cook
2024-12-19 11:40 ` Thorsten Leemhuis
0 siblings, 1 reply; 2+ messages in thread
From: Kees Cook @ 2024-12-16 1:27 UTC (permalink / raw)
To: Jonathan Corbet
Cc: Kees Cook, Linus Torvalds, Geert Uytterhoeven, Thorsten Leemhuis,
regressions, workflows, linux-doc, linux-kernel, linux-hardening
Clarify that the preferred git SHA abbreviation length for the Fixes
tag is 12 characters[1], as the tag is intended for humans (though, yes,
it is parsed by machines too). Collision resolution needs to be performed
using the parenthetical patch Subject that follows the abbreviated hash.
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/all/CAHk-=wiwAz3UgPOWK3RdGXDnTRHcwVbxpuxCQt_0SoAJC-oGXQ@mail.gmail.com [1]
Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Geert Uytterhoeven <geert+renesas@glider.be>
Cc: Thorsten Leemhuis <linux@leemhuis.info>
Cc: regressions@lists.linux.dev
Cc: workflows@vger.kernel.org
Cc: linux-doc@vger.kernel.org
---
Documentation/process/handling-regressions.rst | 4 ++--
Documentation/process/maintainer-tip.rst | 4 ++--
Documentation/process/submitting-patches.rst | 6 ++++++
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/Documentation/process/handling-regressions.rst b/Documentation/process/handling-regressions.rst
index 1f5ab49c48a4..a0e8715c6cd3 100644
--- a/Documentation/process/handling-regressions.rst
+++ b/Documentation/process/handling-regressions.rst
@@ -29,9 +29,9 @@ The important bits (aka "The TL;DR")
* For mailed reports, check if the reporter included a line like ``#regzbot
introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
list in CC) containing a paragraph like the following, which tells regzbot
- when the issue started to happen::
+ when the issue started to happen, preferably with a full git SHA::
- #regzbot ^introduced: 1f2e3d4c5b6a
+ #regzbot ^introduced: 1f2e3d4c5b6a1524e886b7f1b8a0c1fc7321cac2
* When forwarding reports from a bug tracker to the regressions list (see
above), include a paragraph like the following::
diff --git a/Documentation/process/maintainer-tip.rst b/Documentation/process/maintainer-tip.rst
index e374b67b3277..658b489705be 100644
--- a/Documentation/process/maintainer-tip.rst
+++ b/Documentation/process/maintainer-tip.rst
@@ -284,7 +284,7 @@ following tag ordering scheme:
Commit
- abcdef012345678 ("x86/xxx: Replace foo with bar")
+ ab0123456789 ("x86/xxx: Replace foo with bar")
left an unused instance of variable foo around. Remove it.
@@ -295,7 +295,7 @@ following tag ordering scheme:
The recent replacement of foo with bar left an unused instance of
variable foo around. Remove it.
- Fixes: abcdef012345678 ("x86/xxx: Replace foo with bar")
+ Fixes: ab0123456789 ("x86/xxx: Replace foo with bar")
Signed-off-by: J.Dev <j.dev@mail>
The latter puts the information about the patch into the focus and
diff --git a/Documentation/process/submitting-patches.rst b/Documentation/process/submitting-patches.rst
index 1518bd57adab..efd4fb1109e9 100644
--- a/Documentation/process/submitting-patches.rst
+++ b/Documentation/process/submitting-patches.rst
@@ -163,6 +163,12 @@ An example call::
$ git log -1 --pretty=fixes 54a4f0239f2e
Fixes: 54a4f0239f2e ("KVM: MMU: make kvm_mmu_zap_page() return the number of pages it actually freed")
+Note that the "Fixes" tag, while it does get parsed by machines, is intended
+for humans (hence the Subject portion). It is preferred that hashes remain at
+12 characters even in the face of prefix collisions. When encountering hash
+prefix collisions, tools (and humans) need to resolve such collisions using
+the parenthetical patch Subject.
+
.. _split_changes:
Separate your changes
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] docs: git SHA prefixes are for humans
2024-12-16 1:27 [PATCH] docs: git SHA prefixes are for humans Kees Cook
@ 2024-12-19 11:40 ` Thorsten Leemhuis
0 siblings, 0 replies; 2+ messages in thread
From: Thorsten Leemhuis @ 2024-12-19 11:40 UTC (permalink / raw)
To: Kees Cook, Jonathan Corbet
Cc: Linus Torvalds, Geert Uytterhoeven, regressions, workflows,
linux-doc, linux-kernel, linux-hardening
Hi! Thx for picking this up!
On 16.12.24 02:27, Kees Cook wrote:
> Clarify that the preferred git SHA abbreviation length for the Fixes
> tag is 12 characters[1], as the tag is intended for humans (though, yes,
> it is parsed by machines too). Collision resolution needs to be performed
> using the parenthetical patch Subject that follows the abbreviated hash.
> [...]
> diff --git a/Documentation/process/handling-regressions.rst b/Documentation/process/handling-regressions.rst
> index 1f5ab49c48a4..a0e8715c6cd3 100644
> --- a/Documentation/process/handling-regressions.rst
> +++ b/Documentation/process/handling-regressions.rst
> @@ -29,9 +29,9 @@ The important bits (aka "The TL;DR")
> * For mailed reports, check if the reporter included a line like ``#regzbot
> introduced: v5.13..v5.14-rc1``. If not, send a reply (with the regressions
> list in CC) containing a paragraph like the following, which tells regzbot
> - when the issue started to happen::
> + when the issue started to happen, preferably with a full git SHA::
How about "when the issue started to happen using an unique identifier
understood by git like the commit-id::"?
Regzbot handles tags, too. And I guess the term "commit-id" is more
common and easier to understand for non-developers than "SHA". And in
case we ever start using SHA256 sums in the kernel that maybe can just
stay as it is.
> [...]
> diff --git a/Documentation/process/maintainer-tip.rst b/Documentation/process/maintainer-tip.rst
> index e374b67b3277..658b489705be 100644
> --- a/Documentation/process/maintainer-tip.rst
> +++ b/Documentation/process/maintainer-tip.rst
> @@ -284,7 +284,7 @@ following tag ordering scheme:
>
> Commit
>
> - abcdef012345678 ("x86/xxx: Replace foo with bar")
> + ab0123456789 ("x86/xxx: Replace foo with bar")
Ignore the following side note, I just need to get this off my chest:
Why does that file even mention this and a lot of other stuff how to
create a proper patch description at all? We already have two documents
that explain this; a third just for one subsystem seems somewhat wrong.
But whatever. :-D
> [...]
> diff --git a/Documentation/process/submitting-patches.rst b/Documentation/process/submitting-patches.rst
> index 1518bd57adab..efd4fb1109e9 100644
> --- a/Documentation/process/submitting-patches.rst
> +++ b/Documentation/process/submitting-patches.rst
> @@ -163,6 +163,12 @@ An example call::
> $ git log -1 --pretty=fixes 54a4f0239f2e
> Fixes: 54a4f0239f2e ("KVM: MMU: make kvm_mmu_zap_page() return the number of pages it actually freed")
>
> +Note that the "Fixes" tag, while it does get parsed by machines, is intended
> +for humans (hence the Subject portion). It is preferred that hashes remain at
> +12 characters even in the face of prefix collisions. When encountering hash
> +prefix collisions, tools (and humans) need to resolve such collisions using
> +the parenthetical patch Subject.
> +
submitting-patches.rst to my understanding and the header of that file
is the shorter of two approaches documenting how to contribute patches.
So this text should likely go to the longer one, which is
Documentation/process/5.Posting.rst. Or both, if we consider this
important enough -- but I'd say it's not.
Ciao, Thorsten
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-12-19 12:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-16 1:27 [PATCH] docs: git SHA prefixes are for humans Kees Cook
2024-12-19 11:40 ` Thorsten Leemhuis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).