From: kristofferhaugsbakk@fastmail.com
To: git@vger.kernel.org
Cc: Kristoffer Haugsbakk <code@khaugsbakk.name>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: [PATCH 1/3] doc: patch-id: emphasize multi-patch processing
Date: Sat, 7 Feb 2026 16:05:26 +0100 [thread overview]
Message-ID: <multi-patch_processing.276@msgid.xyz> (raw)
In-Reply-To: <CV_doc_patch-id_4.275@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>
---
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-07 15:06 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 ` kristofferhaugsbakk [this message]
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 ` [PATCH v2 1/3] doc: patch-id: emphasize multi-patch processing kristofferhaugsbakk
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=multi-patch_processing.276@msgid.xyz \
--to=kristofferhaugsbakk@fastmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox