-u::
Synonym for "-p".
--r::
- Look recursively in subdirectories; this flag does not
- mean anything to commands other than "git-diff-tree";
- other diff commands always look at all the subdirectories.
+--patch-with-raw::
+ Generate patch but keep also the default raw diff output.
+
+--stat::
+ Generate a diffstat instead of a patch.
+
+--patch-with-stat::
+ Generate patch and prepend its diffstat.
-z::
\0 line termination on output
--name-only::
Show only names of changed files.
---name-only-z::
- Same as --name-only, but terminate lines with NUL.
+--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.
-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::
- By default, -C option finds copies only if the original
- file of the copy was modified in the same changeset for
- performance reasons. This flag makes the command
+ 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 contains the change in <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 contains the change
+ 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 cache or
+ 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].