X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=Documentation%2Fgit-diff-tree.txt;h=5d48664e624f59e0df16121ed67d84939f6d2a31;hb=5a1e8707a6d9c7016a59d9987c1bc72ffe1252c8;hp=56caeb2d26f2f8eab1234be6f146201ded5b098a;hpb=ea81e10ff4e31820407f4cb1b8ebd87de9e51737;p=git.git diff --git a/Documentation/git-diff-tree.txt b/Documentation/git-diff-tree.txt index 56caeb2d2..5d48664e6 100644 --- a/Documentation/git-diff-tree.txt +++ b/Documentation/git-diff-tree.txt @@ -9,7 +9,7 @@ git-diff-tree - Compares the content and mode of blobs found via two tree object SYNOPSIS -------- [verse] -'git-diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] +'git diff-tree' [--stdin] [-m] [-s] [-v] [--no-commit-id] [--pretty] [-t] [-r] [-c | --cc] [--root] [] [] [...] @@ -20,7 +20,7 @@ Compares the content and mode of the blobs found via two tree objects. If there is only one given, the commit is compared with its parents (see --stdin below). -Note that "git-diff-tree" can use the tree encapsulated in a commit object. +Note that 'git-diff-tree' can use the tree encapsulated in a commit object. OPTIONS ------- @@ -49,34 +49,43 @@ include::diff-options.txt[] --stdin:: When '--stdin' is specified, the command does not take arguments from the command line. Instead, it - reads either one or a pair of - separated with a single space from its standard input. + reads lines containing either two , one , or a + list of from its standard input. (Use a single space + as separator.) + -When a single commit is given on one line of such input, it compares -the commit with its parents. The following flags further affects its -behavior. This does not apply to the case where two -separated with a single space are given. +When two trees are given, it compares the first tree with the second. +When a single commit is given, it compares the commit with its +parents. The remaining commits, when given, are used as if they are +parents of the first commit. ++ +When comparing two trees, the ID of both trees (separated by a space +and terminated by a newline) is printed before the difference. When +comparing commits, the ID of the first (or only) commit, followed by a +newline, is printed. ++ +The following flags further affects the behavior when comparing +commits (but not trees). -m:: - By default, "git-diff-tree --stdin" does not show + 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. See also '-c'. -s:: - By default, "git-diff-tree --stdin" shows differences, + 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 suppressed. It is only useful with '-v' flag. -v:: - This flag causes "git-diff-tree --stdin" to also show + This flag causes 'git-diff-tree --stdin' to also show the commit message before the differences. include::pretty-options.txt[] --no-commit-id:: - git-diff-tree outputs a line with the commit ID when + 'git-diff-tree' outputs a line with the commit ID when applicable. This flag suppressed the commit ID output. -c:: @@ -93,11 +102,11 @@ include::pretty-options.txt[] 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. + by omitting uninteresting hunks whose the contents in the parents + have only two variants and the merge result picks one of them + without modification. When all hunks are uninteresting, 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 @@ -112,13 +121,13 @@ Limiting Output If you're only interested in differences in a subset of files, for example some architecture-specific files, you might do: - git-diff-tree -r arch/ia64 include/asm-ia64 + git diff-tree -r arch/ia64 include/asm-ia64 and it will only show you what changed in those two directories. Or if you are searching for what changed in just `kernel/sched.c`, just do - git-diff-tree -r kernel/sched.c + git diff-tree -r kernel/sched.c and it will ignore all differences to other files. @@ -129,7 +138,7 @@ so it can be used to name subdirectories. An example of normal usage is: - torvalds@ppc970:~/git> git-diff-tree 5319e4...... + torvalds@ppc970:~/git> git diff-tree 5319e4...... *100664->100664 blob ac348b.......->a01513....... git-fsck-objects.c which tells you that the last commit changed just one file (it's from