-p::
	Generate patch (see section on generating patches)

-u::
	Synonym for "-p".

--patch-with-raw::
	Generate patch but keep also the default raw diff output.

--stat::
	Generate a diffstat instead of a patch.

--summary::
	Output a condensed summary of extended header information
	such as creations, renames and mode changes.

--patch-with-stat::
	Generate patch and prepend its diffstat.

-z::
	\0 line termination on output

--name-only::
	Show only names of changed files.

--name-status::
	Show only names and status of changed files.

--full-index::
	Instead of the first handful characters, show full
	object name of pre- and post-image blob on the "index"
	line when generating a patch format output.	

--abbrev[=<n>]::
	Instead of showing the full 40-byte hexadecimal object
	name in diff-raw format output and diff-tree header
	lines, show only handful hexdigits prefix.  This is
	independent of --full-index option above, which controls
	the diff-patch output format.  Non default number of
	digits can be specified with --abbrev=<n>.

-B::
	Break complete rewrite changes into pairs of delete and create.

-M::
	Detect renames.

-C::
	Detect copies as well as renames.

--diff-filter=[ACDMRTUXB*]::
	Select only files that are Added (`A`), Copied (`C`),
	Deleted (`D`), Modified (`M`), Renamed (`R`), have their
	type (mode) changed (`T`), are Unmerged (`U`), are
	Unknown (`X`), or have had their pairing Broken (`B`).
	Any combination of the filter characters may be used.
	When `*` (All-or-none) is added to the combination, all
	paths are selected if there is any file that matches
	other criteria in the comparison; if there is no file
	that matches other criteria, nothing is selected.

--find-copies-harder::
	For performance reasons, by default, -C option finds copies only 
	if the original file of the copy was modified in the same 
	changeset.  This flag makes the command
	inspect unmodified files as candidates for the source of
	copy.  This is a very expensive operation for large
	projects, so use it with caution.

-l<num>::
	-M and -C options require O(n^2) processing time where n
	is the number of potential rename/copy targets.  This
	option prevents rename/copy detection from running if
	the number of rename/copy targets exceeds the specified
	number.

-S<string>::
	Look for differences that contain the change in <string>.

--pickaxe-all::
	When -S finds a change, show all the changes in that
	changeset, not just the files that contain the change
	in <string>.

--pickaxe-regex::
	Make the <string> not a plain string but an extended POSIX
	regex to match.

-O<orderfile>::
	Output the patch in the order specified in the
	<orderfile>, which has one shell glob pattern per line.

-R::
	Swap two inputs; that is, show differences from index or
	on-disk file to tree contents.

For more detailed explanation on these common options, see also
link:diffcore.html[diffcore documentation].
