git-patch-id(1)
===============

NAME
----
git-patch-id - Compute unique ID for a patch

SYNOPSIS
--------
[verse]
'git patch-id' [--stable | --unstable | --verbatim]

DESCRIPTION
-----------
Read a patch from the standard input and compute the patch ID for it.

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
the same time also reasonably unique, i.e., two patches that have the same
"patch ID" are almost guaranteed to be the same thing.

The main usecase for this command is to look for likely duplicate commits.

When dealing with 'git diff-tree' 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.

OPTIONS
-------

--verbatim::
	Calculate the patch-id of the input as it is given, do not strip
	any whitespace.

	This is the default if patchid.verbatim is true.

--stable::
	Use a "stable" sum of hashes as the patch ID. With this option:
	 - Reordering file diffs that make up a patch does not affect the ID.
	   In particular, two patches produced by comparing the same two trees
	   with two different settings for "-O<orderfile>" result in the same
	   patch ID signature, thereby allowing the computed result to be used
	   as a key to index some meta-information about the change between
	   the two trees;

	 - Result is different from the value produced by git 1.9 and older
	   or produced when an "unstable" hash (see --unstable below) is
	   configured - even when used on a diff output taken without any use
	   of "-O<orderfile>", thereby making existing databases storing such
	   "unstable" or historical patch-ids unusable.

	 - All whitespace within the patch is ignored and does not affect the id.

	This is the default if patchid.stable is set to true.

--unstable::
	Use an "unstable" hash as the patch ID. With this option,
	the result produced is compatible with the patch-id value produced
	by git 1.9 and older and whitespace is ignored.  Users with pre-existing
	databases storing patch-ids produced by git 1.9 and older (who do not deal
	with reordered patches) may want to use this option.

	This is the default.

GIT
---
Part of the linkgit:git[1] suite
