]> git.ipfire.org Git - thirdparty/git.git/commit
doc: patch-id: emphasize multi-patch processing
authorKristoffer Haugsbakk <code@khaugsbakk.name>
Sat, 14 Feb 2026 11:55:41 +0000 (12:55 +0100)
committerJunio C Hamano <gitster@pobox.com>
Tue, 17 Feb 2026 18:49:51 +0000 (10:49 -0800)
commitbfd125f64f86e78894d67c9eafdbae38779484bc
tree0ef75bbf587e532533d8d0a3440a8cf50e1ef35a
parent67ad42147a7acc2af6074753ebd03d904476118f
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>
Documentation/git-patch-id.adoc