SYNOPSIS
--------
-'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r] [--root] [<common diff options>] <tree-ish> [<tree-ish>] [<path>...]
+[verse]
+'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty]
+ [-t] [-r] [-c | --cc] [--root] [<common diff options>]
+ <tree-ish> [<tree-ish>] [<path>...]
DESCRIPTION
-----------
-m::
By default, "git-diff-tree --stdin" does not show
differences for merge commits. With this flag, it shows
- differences to that commit from all of its parents.
+ differences to that commit from all of its parents. See
+ also '-c'.
-s::
By default, "git-diff-tree --stdin" shows differences,
either in machine-readable form (without '-p') or in patch
- form (with '-p'). This output can be supressed. It is
+ form (with '-p'). This output can be suppressed. It is
only useful with '-v' flag.
-v::
git-diff-tree outputs a line with the commit ID when
applicable. This flag suppressed the commit ID output.
+-c::
+ This flag changes the way a merge commit is displayed
+ (which means it is useful only when the command is given
+ one <tree-ish>, or '--stdin'). It shows the differences
+ from each of the parents to the merge result simultaneously
+ instead of showing pairwise diff between a parent and the
+ result one at a time (which is what the '-m' option does).
+ Furthermore, it lists only files which were modified
+ from all parents.
+
+--cc::
+ This flag changes the way a merge commit patch is displayed,
+ in a similar way to the '-c' option. It implies the '-c'
+ and '-p' options and further compresses the patch output
+ by omitting hunks that show differences from only one
+ parent, or show the same change from all but one parent
+ for an Octopus merge. When this optimization makes all
+ hunks disappear, the commit itself and the commit log
+ message is not shown, just like in any other "empty diff" case.
+
+--always::
+ Show the commit itself and the commit log message even
+ if the diff itself is empty.
+
Limiting Output
---------------