{"thread":{"id":"64744","subject":"[PATCH 0/6] doc: patch-id: six small improvements","startedAt":"2026-01-08T06:28:34Z","lastAt":"2026-01-09T14:55:11Z","messageCount":20,"participants":["kristofferhaugsbakk@fastmail.com","Pushkar Singh","Kristoffer Haugsbakk","Patrick Steinhardt"],"isPatch":true,"patchVersion":1,"patchTotal":6},"messages":[{"id":"533262","messageId":"CV_doc_patch-id_3.1ab@msgid.xyz","threadId":"64744","inReplyTo":null,"subject":"[PATCH 0/6] doc: patch-id: six small improvements","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:14Z","receivedAt":"2026-01-08T06:28:34Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nTopic name: kh/doc-patch-id-3\n\nTopic summary: Improvements to git-patch-id(1).  Fix git-diff-tree(1)\nmention, Fix '--verbatim' documentation, and four other small\nimprovements.\n\nThis is the third patch series for git-patch-id(1). This one only has\nsmall improvements.\n\n• Patch series 1:\n  • Topic: kh/doc-patch-id-markup-fix\n  • https://lore.kernel.org/git/v2-e5ad12cc3b3.1759178715.git.code@khaugsbakk.name/\n• Patch series 2:\n  • Topic: kh/doc-patch-id-1\n  • https://lore.kernel.org/git/v2-38645ea253c.1760369708.git.code@khaugsbakk.name/\n\nKristoffer Haugsbakk (6):\n  doc: patch-id: don’t use semicolon between bullet points\n  doc: patch-id: capitalize Git version\n  patch-id: use “patch ID” throughout\n  doc: patch-id: use definite article for the result\n  doc: patch-id: spell out the git-diff-tree(1) form\n  doc: patch-id: --verbatim locks in --stable\n\n Documentation/git-patch-id.adoc | 20 ++++++++++----------\n builtin/patch-id.c              |  4 ++--\n 2 files changed, 12 insertions(+), 12 deletions(-)\n\n\nbase-commit: 9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533263","messageId":"no_semicolon.1ac@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 1/6] doc: patch-id: don’t use semicolon between bullet points","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:15Z","receivedAt":"2026-01-08T06:28:56Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThese bullet points are full-fledged paragraphs with sentences.  It’s\nbest to restrict semicolon-termination to the case when the bullet list\namounts to a list of items.[1]\n\n† 1: Like “List: ... • first; ... • second; and ... • third.”\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 92a1af36a27..bac37db09d4 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -45,7 +45,7 @@ This is the default if `patchid.verbatim` is `true`.\n   with two different settings for `-O<orderfile>` result in the same\n   patch ID signature, thereby allowing the computed result to be used\n   as a key to index some meta-information about the change between\n-  the two trees;\n+  the two trees.\n \n - Result is different from the value produced by git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533264","messageId":"capitalize_Git.1ad@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 2/6] doc: patch-id: capitalize Git version","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:16Z","receivedAt":"2026-01-08T06:29:15Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nGit versions are always capitalized.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex bac37db09d4..82992e35fc1 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -47,7 +47,7 @@ This is the default if `patchid.verbatim` is `true`.\n   as a key to index some meta-information about the change between\n   the two trees.\n \n-- Result is different from the value produced by git 1.9 and older\n+- Result is different from the value produced by Git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n@@ -61,8 +61,8 @@ This is the default if `patchid.stable` is set to `true`.\n `--unstable`::\n \tUse an \"unstable\" hash as the patch ID. With this option,\n \tthe result produced is compatible with the patch-id value produced\n-\tby git 1.9 and older and whitespace is ignored.  Users with pre-existing\n-\tdatabases storing patch-ids produced by git 1.9 and older (who do not deal\n+\tby Git 1.9 and older and whitespace is ignored.  Users with pre-existing\n+\tdatabases storing patch-ids produced by Git 1.9 and older (who do not deal\n \twith reordered patches) may want to use this option.\n +\n This is the default.\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533265","messageId":"patch_ID_term.1ae@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 3/6] patch-id: use “patch ID” throughout","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:17Z","receivedAt":"2026-01-08T06:29:35Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThe “Description” section decided to introduce and use the term “patch\nID” for the ID value itself.  Let’s use the same term on the options as\nwell.\n\nAlso make to sure to use bare “ID” instead of “id”.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 10 +++++-----\n builtin/patch-id.c              |  4 ++--\n 2 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 82992e35fc1..9999f164b58 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -31,7 +31,7 @@ OPTIONS\n -------\n \n `--verbatim`::\n-\tCalculate the patch-id of the input as it is given, do not strip\n+\tCalculate the patch ID of the input as it is given, do not strip\n \tany whitespace.\n +\n This is the default if `patchid.verbatim` is `true`.\n@@ -51,18 +51,18 @@ This is the default if `patchid.verbatim` is `true`.\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n-  \"unstable\" or historical patch-ids unusable.\n+  \"unstable\" or historical patch IDs unusable.\n \n-- All whitespace within the patch is ignored and does not affect the id.\n+- All whitespace within the patch is ignored and does not affect the ID.\n --\n +\n This is the default if `patchid.stable` is set to `true`.\n \n `--unstable`::\n \tUse an \"unstable\" hash as the patch ID. With this option,\n-\tthe result produced is compatible with the patch-id value produced\n+\tthe result produced is compatible with the patch ID value produced\n \tby Git 1.9 and older and whitespace is ignored.  Users with pre-existing\n-\tdatabases storing patch-ids produced by Git 1.9 and older (who do not deal\n+\tdatabases storing patch IDs produced by Git 1.9 and older (who do not deal\n \twith reordered patches) may want to use this option.\n +\n This is the default.\ndiff --git a/builtin/patch-id.c b/builtin/patch-id.c\nindex d26e9d0c1ea..2781598ede6 100644\n--- a/builtin/patch-id.c\n+++ b/builtin/patch-id.c\n@@ -228,9 +228,9 @@ int cmd_patch_id(int argc,\n \tint opts = 0;\n \tstruct option builtin_patch_id_options[] = {\n \t\tOPT_CMDMODE(0, \"unstable\", &opts,\n-\t\t    N_(\"use the unstable patch-id algorithm\"), 1),\n+\t\t    N_(\"use the unstable patch ID algorithm\"), 1),\n \t\tOPT_CMDMODE(0, \"stable\", &opts,\n-\t\t    N_(\"use the stable patch-id algorithm\"), 2),\n+\t\t    N_(\"use the stable patch ID algorithm\"), 2),\n \t\tOPT_CMDMODE(0, \"verbatim\", &opts,\n \t\t\tN_(\"don't strip whitespace from the patch\"), 3),\n \t\tOPT_END()\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533266","messageId":"the_result_c.f._1.9.1af@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 4/6] doc: patch-id: use definite article for the result","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:18Z","receivedAt":"2026-01-08T06:29:55Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 9999f164b58..abd02fccdc0 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -47,7 +47,7 @@ This is the default if `patchid.verbatim` is `true`.\n   as a key to index some meta-information about the change between\n   the two trees.\n \n-- Result is different from the value produced by Git 1.9 and older\n+- The result is different from the value produced by Git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533267","messageId":"git_diff-tree_--patch.1b0@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 5/6] doc: patch-id: spell out the git-diff-tree(1) form","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:19Z","receivedAt":"2026-01-08T06:30:15Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nYou specifically need `--patch` since the default output is a raw diff.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex abd02fccdc0..61498def317 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -21,7 +21,7 @@ the same time also reasonably unique, i.e., two patches that have the same\n \n The main usecase for this command is to look for likely duplicate commits.\n \n-When dealing with `git diff-tree` output, it takes advantage of\n+When dealing with `git diff-tree --patch` output, it takes advantage of\n the fact that the patch is prefixed with the object name of the\n commit, and outputs two 40-byte hexadecimal strings.  The first\n string is the patch ID, and the second string is the commit ID.\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533268","messageId":"--verbatim_and_--stable.1b1@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH 6/6] doc: patch-id: --verbatim locks in --stable","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-08T06:28:20Z","receivedAt":"2026-01-08T06:30:34Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThe default `--unstable` is a legacy format that predates `--stable`.\nThat’s why 2871f4d4 (builtin: patch-id: add --verbatim as a command mode,\n2022-10-24) made `--verbatim` lock in[1] `--stable`:\n\n    Users of --unstable mainly care about compatibility with old git\n    versions, which unstripping the whitespace would break. Thus there\n    isn't a usecase for the combination of --verbatim and --unstable,\n    and we don't expose this so as to not add maintainence burden.\n\n† 1: imply `--stable`, disallow `--unstable\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 61498def317..013e1a61906 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -32,7 +32,7 @@ OPTIONS\n \n `--verbatim`::\n \tCalculate the patch ID of the input as it is given, do not strip\n-\tany whitespace.\n+\tany whitespace. Implies `--stable` and forbids `--unstable`.\n +\n This is the default if `patchid.verbatim` is `true`.\n \n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533300","messageId":"CALE2CrSu-JW___Lav0SnLPfwxB8QCRYMKQgsfbXCHrAQSEyDoA@mail.gmail.com","threadId":"64744","inReplyTo":"--verbatim_and_--stable.1b1@msgid.xyz","subject":"Re: [PATCH 6/6] doc: patch-id: --verbatim locks in --stable","fromName":"Pushkar Singh","fromEmail":"pushkarkumarsingh1970@gmail.com","sentAt":"2026-01-08T18:15:59Z","receivedAt":"2026-01-08T18:16:11Z","isPatch":true,"sender":{"key":"pushkarkumarsingh1970@gmail.com","avatar":"https://avatars.githubusercontent.com/u/173247767?v=4"},"body":"Hi Kristoffer,\n\nI read through the entire series and all six changes look correct to me.\n\nEach patch is small and focused, and together they improve the clarity,\nconsistency, and accuracy of the git-patch-id documentation without\nchanging meaning. In particular, spelling out the `git diff-tree --patch`\nform and documenting the `--verbatim` / `--stable` relationship help align\nthe docs more closely with the actual behavior and existing code.\n\nI didn’t notice any issues with the changes.\n\nThanks for working on this,\nPushkar\n\nOn Thu, Jan 8, 2026 at 12:02 PM <kristofferhaugsbakk@fastmail.com> wrote:\n>\n> From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n>\n> The default `--unstable` is a legacy format that predates `--stable`.\n> That’s why 2871f4d4 (builtin: patch-id: add --verbatim as a command mode,\n> 2022-10-24) made `--verbatim` lock in[1] `--stable`:\n>\n>     Users of --unstable mainly care about compatibility with old git\n>     versions, which unstripping the whitespace would break. Thus there\n>     isn't a usecase for the combination of --verbatim and --unstable,\n>     and we don't expose this so as to not add maintainence burden.\n>\n> † 1: imply `--stable`, disallow `--unstable\n>\n> Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n> ---\n>  Documentation/git-patch-id.adoc | 2 +-\n>  1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\n> index 61498def317..013e1a61906 100644\n> --- a/Documentation/git-patch-id.adoc\n> +++ b/Documentation/git-patch-id.adoc\n> @@ -32,7 +32,7 @@ OPTIONS\n>\n>  `--verbatim`::\n>         Calculate the patch ID of the input as it is given, do not strip\n> -       any whitespace.\n> +       any whitespace. Implies `--stable` and forbids `--unstable`.\n>  +\n>  This is the default if `patchid.verbatim` is `true`.\n>\n> --\n> 2.52.0.421.gc32ead4fc78\n>\n>\n"},{"id":"533301","messageId":"ac9d5639-47cd-494e-9665-ed59283e96b3@app.fastmail.com","threadId":"64744","inReplyTo":"CALE2CrSu-JW___Lav0SnLPfwxB8QCRYMKQgsfbXCHrAQSEyDoA@mail.gmail.com","subject":"Re: [PATCH 6/6] doc: patch-id: --verbatim locks in --stable","fromName":"Kristoffer Haugsbakk","fromEmail":"code@khaugsbakk.name","sentAt":"2026-01-08T18:18:29Z","receivedAt":"2026-01-08T18:18:50Z","isPatch":true,"sender":{"key":"code@khaugsbakk.name","avatar":"https://avatars.githubusercontent.com/u/2229597?v=4"},"body":"On Thu, Jan 8, 2026, at 19:15, Pushkar Singh wrote:\n> I read through the entire series and all six changes look correct to me.\n>\n> Each patch is small and focused, and together they improve the clarity,\n> consistency, and accuracy of the git-patch-id documentation without\n> changing meaning. In particular, spelling out the `git diff-tree --patch`\n> form and documenting the `--verbatim` / `--stable` relationship help align\n> the docs more closely with the actual behavior and existing code.\n>\n> I didn’t notice any issues with the changes.\n>\n> Thanks for working on this,\n> Pushkar\n\nHi Pushkar. Thanks for reviewing!\n"},{"id":"533303","messageId":"52c8f9e2-2287-4a0f-a262-869562cb5695@app.fastmail.com","threadId":"64744","inReplyTo":"--verbatim_and_--stable.1b1@msgid.xyz","subject":"Re: [PATCH 6/6] doc: patch-id: --verbatim locks in --stable","fromName":"Kristoffer Haugsbakk","fromEmail":"code@khaugsbakk.name","sentAt":"2026-01-08T18:26:51Z","receivedAt":"2026-01-08T18:27:57Z","isPatch":true,"sender":{"key":"code@khaugsbakk.name","avatar":"https://avatars.githubusercontent.com/u/2229597?v=4"},"body":"On Thu, Jan 8, 2026, at 07:28, kristofferhaugsbakk@fastmail.com wrote:\n> From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n>\n> The default `--unstable` is a legacy format that predates `--stable`.\n> That’s why 2871f4d4 (builtin: patch-id: add --verbatim as a command mode,\n> 2022-10-24) made `--verbatim` lock in[1] `--stable`:\n>\n>     Users of --unstable mainly care about compatibility with old git\n>     versions, which unstripping the whitespace would break. Thus there\n>     isn't a usecase for the combination of --verbatim and --unstable,\n>     and we don't expose this so as to not add maintainence burden.\n>\n> † 1: imply `--stable`, disallow `--unstable\n\ns/`--unstable/`--unstable`/\n\n>\n> Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n> ---\n>[snip]\n"},{"id":"533338","messageId":"aWDom0myZVrO9au6@pks.im","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"Re: [PATCH 0/6] doc: patch-id: six small improvements","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2026-01-09T11:38:03Z","receivedAt":"2026-01-09T11:38:09Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Thu, Jan 08, 2026 at 07:28:14AM +0100, kristofferhaugsbakk@fastmail.com wrote:\n> From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n> \n> Topic name: kh/doc-patch-id-3\n> \n> Topic summary: Improvements to git-patch-id(1).  Fix git-diff-tree(1)\n> mention, Fix '--verbatim' documentation, and four other small\n> improvements.\n> \n> This is the third patch series for git-patch-id(1). This one only has\n> small improvements.\n\nExcept for the small nit that you yourself noticed on the last patch all\nof these patches look like obvious improvements to me. Thanks!\n\nPatrick\n"},{"id":"533339","messageId":"264242be-166e-4d24-a499-8c849b3c52aa@app.fastmail.com","threadId":"64744","inReplyTo":"aWDom0myZVrO9au6@pks.im","subject":"Re: [PATCH 0/6] doc: patch-id: six small improvements","fromName":"Kristoffer Haugsbakk","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T11:45:58Z","receivedAt":"2026-01-09T11:46:21Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"On Fri, Jan 9, 2026, at 12:38, Patrick Steinhardt wrote:\n> On Thu, Jan 08, 2026 at 07:28:14AM +0100,\n> kristofferhaugsbakk@fastmail.com wrote:\n>>[snip]\n> Except for the small nit that you yourself noticed on the last patch all\n> of these patches look like obvious improvements to me. Thanks!\n\nThanks for taking a look! I should get around to making a second version\nwith that nit removed today. :)\n"},{"id":"533368","messageId":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","threadId":"64744","inReplyTo":"CV_doc_patch-id_3.1ab@msgid.xyz","subject":"[PATCH v2 0/6] doc: patch-id: six small improvements","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:25:56Z","receivedAt":"2026-01-09T14:26:44Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nTopic name: kh/doc-patch-id-3\n\nTopic summary: Improvements to git-patch-id(1).  Fix git-diff-tree(1)\nmention, Fix '--verbatim' documentation, and four other small\nimprovements.\n\nThis is the third patch series for git-patch-id(1). This one only has\nsmall improvements.\n\n• Patch series 1:\n  • Topic: kh/doc-patch-id-markup-fix\n  • https://lore.kernel.org/git/v2-e5ad12cc3b3.1759178715.git.code@khaugsbakk.name/\n• Patch series 2:\n  • Topic: kh/doc-patch-id-1\n  • https://lore.kernel.org/git/v2-38645ea253c.1760369708.git.code@khaugsbakk.name/\n\n§ Changtes in v2\n\nFix markup in commit message.\n\nKristoffer Haugsbakk (6):\n  doc: patch-id: don’t use semicolon between bullet points\n  doc: patch-id: capitalize Git version\n  patch-id: use “patch ID” throughout\n  doc: patch-id: use definite article for the result\n  doc: patch-id: spell out the git-diff-tree(1) form\n  doc: patch-id: --verbatim locks in --stable\n\n Documentation/git-patch-id.adoc | 20 ++++++++++----------\n builtin/patch-id.c              |  4 ++--\n 2 files changed, 12 insertions(+), 12 deletions(-)\n\nInterdiff against v1:\nRange-diff against v1:\n1:  b3883b32d26 = 1:  b3883b32d26 doc: patch-id: don’t use semicolon between bullet points\n2:  d96ab8edb3f = 2:  d96ab8edb3f doc: patch-id: capitalize Git version\n3:  f7f249d79ce = 3:  f7f249d79ce patch-id: use “patch ID” throughout\n4:  28c11153e6a = 4:  28c11153e6a doc: patch-id: use definite article for the result\n5:  463c6c60ec6 = 5:  463c6c60ec6 doc: patch-id: spell out the git-diff-tree(1) form\n6:  03cc19de8da ! 6:  0b5c10f143e doc: patch-id: --verbatim locks in --stable\n    @@ Commit message\n             isn't a usecase for the combination of --verbatim and --unstable,\n             and we don't expose this so as to not add maintainence burden.\n     \n    -    † 1: imply `--stable`, disallow `--unstable\n    +    † 1: imply `--stable`, disallow `--unstable`\n     \n         Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n     \n    +\n    + ## Notes (series) ##\n    +    v2:\n    +    Fix “markup” in commit message: `--unstable`.\n    +\n      ## Documentation/git-patch-id.adoc ##\n     @@ Documentation/git-patch-id.adoc: OPTIONS\n      \n\nbase-commit: 9a2fb147f2c61d0cab52c883e7e26f5b7948e3ed\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533369","messageId":"V2_no_semicolon.1b3@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 1/6] doc: patch-id: don’t use semicolon between bullet points","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:25:57Z","receivedAt":"2026-01-09T14:27:04Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThese bullet points are full-fledged paragraphs with sentences.  It’s\nbest to restrict semicolon-termination to the case when the bullet list\namounts to a list of items.[1]\n\n† 1: Like “List: ... • first; ... • second; and ... • third.”\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 92a1af36a27..bac37db09d4 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -45,7 +45,7 @@ This is the default if `patchid.verbatim` is `true`.\n   with two different settings for `-O<orderfile>` result in the same\n   patch ID signature, thereby allowing the computed result to be used\n   as a key to index some meta-information about the change between\n-  the two trees;\n+  the two trees.\n \n - Result is different from the value produced by git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533370","messageId":"V2_capitalize_Git.1b4@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 2/6] doc: patch-id: capitalize Git version","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:25:58Z","receivedAt":"2026-01-09T14:27:22Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nGit versions are always capitalized.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 6 +++---\n 1 file changed, 3 insertions(+), 3 deletions(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex bac37db09d4..82992e35fc1 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -47,7 +47,7 @@ This is the default if `patchid.verbatim` is `true`.\n   as a key to index some meta-information about the change between\n   the two trees.\n \n-- Result is different from the value produced by git 1.9 and older\n+- Result is different from the value produced by Git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n@@ -61,8 +61,8 @@ This is the default if `patchid.stable` is set to `true`.\n `--unstable`::\n \tUse an \"unstable\" hash as the patch ID. With this option,\n \tthe result produced is compatible with the patch-id value produced\n-\tby git 1.9 and older and whitespace is ignored.  Users with pre-existing\n-\tdatabases storing patch-ids produced by git 1.9 and older (who do not deal\n+\tby Git 1.9 and older and whitespace is ignored.  Users with pre-existing\n+\tdatabases storing patch-ids produced by Git 1.9 and older (who do not deal\n \twith reordered patches) may want to use this option.\n +\n This is the default.\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533371","messageId":"V2_patch_ID_term.1b5@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 3/6] patch-id: use “patch ID” throughout","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:25:59Z","receivedAt":"2026-01-09T14:27:40Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThe “Description” section decided to introduce and use the term “patch\nID” for the ID value itself.  Let’s use the same term on the options as\nwell.\n\nAlso make to sure to use bare “ID” instead of “id”.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 10 +++++-----\n builtin/patch-id.c              |  4 ++--\n 2 files changed, 7 insertions(+), 7 deletions(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 82992e35fc1..9999f164b58 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -31,7 +31,7 @@ OPTIONS\n -------\n \n `--verbatim`::\n-\tCalculate the patch-id of the input as it is given, do not strip\n+\tCalculate the patch ID of the input as it is given, do not strip\n \tany whitespace.\n +\n This is the default if `patchid.verbatim` is `true`.\n@@ -51,18 +51,18 @@ This is the default if `patchid.verbatim` is `true`.\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n-  \"unstable\" or historical patch-ids unusable.\n+  \"unstable\" or historical patch IDs unusable.\n \n-- All whitespace within the patch is ignored and does not affect the id.\n+- All whitespace within the patch is ignored and does not affect the ID.\n --\n +\n This is the default if `patchid.stable` is set to `true`.\n \n `--unstable`::\n \tUse an \"unstable\" hash as the patch ID. With this option,\n-\tthe result produced is compatible with the patch-id value produced\n+\tthe result produced is compatible with the patch ID value produced\n \tby Git 1.9 and older and whitespace is ignored.  Users with pre-existing\n-\tdatabases storing patch-ids produced by Git 1.9 and older (who do not deal\n+\tdatabases storing patch IDs produced by Git 1.9 and older (who do not deal\n \twith reordered patches) may want to use this option.\n +\n This is the default.\ndiff --git a/builtin/patch-id.c b/builtin/patch-id.c\nindex d26e9d0c1ea..2781598ede6 100644\n--- a/builtin/patch-id.c\n+++ b/builtin/patch-id.c\n@@ -228,9 +228,9 @@ int cmd_patch_id(int argc,\n \tint opts = 0;\n \tstruct option builtin_patch_id_options[] = {\n \t\tOPT_CMDMODE(0, \"unstable\", &opts,\n-\t\t    N_(\"use the unstable patch-id algorithm\"), 1),\n+\t\t    N_(\"use the unstable patch ID algorithm\"), 1),\n \t\tOPT_CMDMODE(0, \"stable\", &opts,\n-\t\t    N_(\"use the stable patch-id algorithm\"), 2),\n+\t\t    N_(\"use the stable patch ID algorithm\"), 2),\n \t\tOPT_CMDMODE(0, \"verbatim\", &opts,\n \t\t\tN_(\"don't strip whitespace from the patch\"), 3),\n \t\tOPT_END()\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533372","messageId":"V2_the_result_c.f._1.9.1b6@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 4/6] doc: patch-id: use definite article for the result","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:26:00Z","receivedAt":"2026-01-09T14:27:59Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 9999f164b58..abd02fccdc0 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -47,7 +47,7 @@ This is the default if `patchid.verbatim` is `true`.\n   as a key to index some meta-information about the change between\n   the two trees.\n \n-- Result is different from the value produced by Git 1.9 and older\n+- The result is different from the value produced by Git 1.9 and older\n   or produced when an \"unstable\" hash (see `--unstable` below) is\n   configured - even when used on a diff output taken without any use\n   of `-O<orderfile>`, thereby making existing databases storing such\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533373","messageId":"V2_git_diff-tree_--patch.1b7@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 5/6] doc: patch-id: spell out the git-diff-tree(1) form","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:26:01Z","receivedAt":"2026-01-09T14:28:19Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nYou specifically need `--patch` since the default output is a raw diff.\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex abd02fccdc0..61498def317 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -21,7 +21,7 @@ the same time also reasonably unique, i.e., two patches that have the same\n \n The main usecase for this command is to look for likely duplicate commits.\n \n-When dealing with `git diff-tree` output, it takes advantage of\n+When dealing with `git diff-tree --patch` output, it takes advantage of\n the fact that the patch is prefixed with the object name of the\n commit, and outputs two 40-byte hexadecimal strings.  The first\n string is the patch ID, and the second string is the commit ID.\n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533374","messageId":"V2_--verbatim_and_--stable.1b8@msgid.xyz","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"[PATCH v2 6/6] doc: patch-id: --verbatim locks in --stable","fromName":"","fromEmail":"kristofferhaugsbakk@fastmail.com","sentAt":"2026-01-09T14:26:02Z","receivedAt":"2026-01-09T14:28:38Z","isPatch":true,"sender":{"key":"kristofferhaugsbakk@fastmail.com","avatar":null},"body":"From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n\nThe default `--unstable` is a legacy format that predates `--stable`.\nThat’s why 2871f4d4 (builtin: patch-id: add --verbatim as a command mode,\n2022-10-24) made `--verbatim` lock in[1] `--stable`:\n\n    Users of --unstable mainly care about compatibility with old git\n    versions, which unstripping the whitespace would break. Thus there\n    isn't a usecase for the combination of --verbatim and --unstable,\n    and we don't expose this so as to not add maintainence burden.\n\n† 1: imply `--stable`, disallow `--unstable`\n\nSigned-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>\n---\n\nNotes (series):\n    v2:\n    Fix “markup” in commit message: `--unstable`.\n\n Documentation/git-patch-id.adoc | 2 +-\n 1 file changed, 1 insertion(+), 1 deletion(-)\n\ndiff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc\nindex 61498def317..013e1a61906 100644\n--- a/Documentation/git-patch-id.adoc\n+++ b/Documentation/git-patch-id.adoc\n@@ -32,7 +32,7 @@ OPTIONS\n \n `--verbatim`::\n \tCalculate the patch ID of the input as it is given, do not strip\n-\tany whitespace.\n+\tany whitespace. Implies `--stable` and forbids `--unstable`.\n +\n This is the default if `patchid.verbatim` is `true`.\n \n-- \n2.52.0.421.gc32ead4fc78\n\n"},{"id":"533377","messageId":"aWEWydo-P5m0D5xR@pks.im","threadId":"64744","inReplyTo":"V2_CV_doc_patch-id_3.1b2@msgid.xyz","subject":"Re: [PATCH v2 0/6] doc: patch-id: six small improvements","fromName":"Patrick Steinhardt","fromEmail":"ps@pks.im","sentAt":"2026-01-09T14:55:05Z","receivedAt":"2026-01-09T14:55:11Z","isPatch":true,"sender":{"key":"ps@pks.im","avatar":"https://avatars.githubusercontent.com/u/4056630?v=4"},"body":"On Fri, Jan 09, 2026 at 03:25:56PM +0100, kristofferhaugsbakk@fastmail.com wrote:\n> From: Kristoffer Haugsbakk <code@khaugsbakk.name>\n> \n> Topic name: kh/doc-patch-id-3\n> \n> Topic summary: Improvements to git-patch-id(1).  Fix git-diff-tree(1)\n> mention, Fix '--verbatim' documentation, and four other small\n> improvements.\n> \n> This is the third patch series for git-patch-id(1). This one only has\n> small improvements.\n> \n> • Patch series 1:\n>   • Topic: kh/doc-patch-id-markup-fix\n>   • https://lore.kernel.org/git/v2-e5ad12cc3b3.1759178715.git.code@khaugsbakk.name/\n> • Patch series 2:\n>   • Topic: kh/doc-patch-id-1\n>   • https://lore.kernel.org/git/v2-38645ea253c.1760369708.git.code@khaugsbakk.name/\n> \n> § Changtes in v2\n> \n> Fix markup in commit message.\n\nThis version looks good to me based on the range-diff, thanks!\n\nPatrick\n"}]}