aboutsummaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorKristoffer Haugsbakk <code@khaugsbakk.name>2026-02-14 12:55:41 +0100
committerJunio C Hamano <gitster@pobox.com>2026-02-17 10:49:51 -0800
commitbfd125f64f86e78894d67c9eafdbae38779484bc (patch)
tree0ef75bbf587e532533d8d0a3440a8cf50e1ef35a /Documentation
parent67ad42147a7acc2af6074753ebd03d904476118f (diff)
downloadgit-bfd125f64f86e78894d67c9eafdbae38779484bc.tar.xz
doc: patch-id: emphasize multi-patch processing
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> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/git-patch-id.adoc7
1 files changed, 4 insertions, 3 deletions
diff --git a/Documentation/git-patch-id.adoc b/Documentation/git-patch-id.adoc
index 013e1a6190..e95391cd25 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
-------