From: kristofferhaugsbakk@fastmail.com
To: git@vger.kernel.org
Cc: Kristoffer Haugsbakk <code@khaugsbakk.name>,
Linus Torvalds <torvalds@linux-foundation.org>,
ben.knoble@gmail.com
Subject: [PATCH v2 1/3] doc: patch-id: emphasize multi-patch processing
Date: Sat, 14 Feb 2026 12:55:41 +0100 [thread overview]
Message-ID: <V2_multi-patch_processing.372@msgid.xyz> (raw)
In-Reply-To: <V2_CV_doc_patch-id_4.371@msgid.xyz>
From: Kristoffer Haugsbakk <code@khaugsbakk.name>
Emphasize that you can pass multiple patches or diffs to this command.
git-patch-id(1) is an efficient pID–commit mapper, able to map
thousands of commits in seconds. But discussions on the command
seem to typically[1] use the standard loop-over-rev-list-and-
shell-out pattern:
for commit in rev-list:
prepare a diff from commit | git patch-id
This is unnecessary; we can bulk-process the patches:
git rev-list --no-merges <ref> |
git diff-tree --patch --stdin |
git patch-id --stable
The first version (translated to shell) takes a little over nine
minutes for a commit history of about 78K commits.[2] The other one,
by contrast, takes slightly less than a minute.
Also drop “the” from “standard input”.
† 1: https://stackoverflow.com/a/19758159
† 2: This is `master` of this repository on 2025-10-02
Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
---
Notes (series):
v2: Use my weird daggers consistently for footnotes
Documentation/git-patch-id.adoc | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc
index 013e1a61906..e95391cd255 100644
--- a/Documentation/git-patch-id.adoc
+++ b/Documentation/git-patch-id.adoc
@@ -3,7 +3,7 @@ git-patch-id(1)
NAME
----
-git-patch-id - Compute unique ID for a patch
+git-patch-id - Compute unique IDs for patches
SYNOPSIS
--------
@@ -12,7 +12,7 @@ git patch-id [--stable | --unstable | --verbatim]
DESCRIPTION
-----------
-Read a patch from the standard input and compute the patch ID for it.
+Read patches from standard input and compute the patch IDs.
A "patch ID" is nothing but a sum of SHA-1 of the file diffs associated with a
patch, with line numbers ignored. As such, it's "reasonably stable", but at
@@ -25,7 +25,8 @@ When dealing with `git diff-tree --patch` output, it takes advantage of
the fact that the patch is prefixed with the object name of the
commit, and outputs two 40-byte hexadecimal strings. The first
string is the patch ID, and the second string is the commit ID.
-This can be used to make a mapping from patch ID to commit ID.
+This can be used to make a mapping from patch ID to commit ID for a
+set or range of commits.
OPTIONS
-------
--
2.53.0.26.g2afa8602a26
next prev parent reply other threads:[~2026-02-14 11:56 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-07 15:05 [PATCH 0/3] doc: patch-id: explain how to map efficiently kristofferhaugsbakk
2026-02-07 15:05 ` [PATCH 1/3] doc: patch-id: emphasize multi-patch processing kristofferhaugsbakk
2026-02-07 15:05 ` [PATCH 2/3] doc: patch-id: add script example kristofferhaugsbakk
2026-02-08 2:34 ` D. Ben Knoble
2026-02-08 17:23 ` Kristoffer Haugsbakk
2026-02-07 15:05 ` [PATCH 3/3] doc: patch-id: see also git-cherry(1) kristofferhaugsbakk
2026-02-08 2:34 ` [PATCH 0/3] doc: patch-id: explain how to map efficiently D. Ben Knoble
2026-02-14 11:55 ` [PATCH v2 " kristofferhaugsbakk
2026-02-14 11:55 ` kristofferhaugsbakk [this message]
2026-02-14 11:55 ` [PATCH v2 2/3] doc: patch-id: add script example kristofferhaugsbakk
2026-02-14 11:55 ` [PATCH v2 3/3] doc: patch-id: see also git-cherry(1) kristofferhaugsbakk
2026-02-14 20:00 ` [PATCH v2 0/3] doc: patch-id: explain how to map efficiently Ben Knoble
2026-02-20 22:31 ` Junio C Hamano
2026-02-21 2:38 ` Ben Knoble
2026-02-23 18:04 ` Kristoffer Haugsbakk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=V2_multi-patch_processing.372@msgid.xyz \
--to=kristofferhaugsbakk@fastmail.com \
--cc=ben.knoble@gmail.com \
--cc=code@khaugsbakk.name \
--cc=git@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.