mirror of
https://github.com/git/git.git
synced 2026-02-28 02:42:52 +00:00
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>
This commit is contained in:
committed by
Junio C Hamano
parent
67ad42147a
commit
bfd125f64f
@@ -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
|
||||
-------
|
||||
|
||||
Reference in New Issue
Block a user