Documentation: usage for diff combined commits

Document the usage for producing combined commits with "git diff".
This includes updating the synopsis section.

While here, add the three-dot notation to the synopsis.

Make "git diff -h" print the same usage summary as the manual
page synopsis, minus the "A..B" form, which is now discouraged.

Signed-off-by: Chris Torek <chris.torek@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Chris Torek 2020-06-12 16:20:00 +00:00 committed by Junio C Hamano
parent 8bfcb3a690
commit b7e10b2ca2
2 changed files with 23 additions and 5 deletions

View File

@ -11,15 +11,17 @@ SYNOPSIS
[verse] [verse]
'git diff' [<options>] [<commit>] [--] [<path>...] 'git diff' [<options>] [<commit>] [--] [<path>...]
'git diff' [<options>] --cached [<commit>] [--] [<path>...] 'git diff' [<options>] --cached [<commit>] [--] [<path>...]
'git diff' [<options>] <commit> <commit> [--] [<path>...] 'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<path>...]
'git diff' [<options>] <commit>...<commit> [--] [<path>...]
'git diff' [<options>] <blob> <blob> 'git diff' [<options>] <blob> <blob>
'git diff' [<options>] --no-index [--] <path> <path> 'git diff' [<options>] --no-index [--] <path> <path>
DESCRIPTION DESCRIPTION
----------- -----------
Show changes between the working tree and the index or a tree, changes Show changes between the working tree and the index or a tree, changes
between the index and a tree, changes between two trees, changes between between the index and a tree, changes between two trees, changes resulting
two blob objects, or changes between two files on disk. from a merge, changes between two blob objects, or changes between two
files on disk.
'git diff' [<options>] [--] [<path>...]:: 'git diff' [<options>] [--] [<path>...]::
@ -67,6 +69,15 @@ two blob objects, or changes between two files on disk.
one side is omitted, it will have the same effect as one side is omitted, it will have the same effect as
using HEAD instead. using HEAD instead.
'git diff' [<options>] <commit> [<commit>...] <commit> [--] [<path>...]::
This form is to view the results of a merge commit. The first
listed <commit> must be the merge itself; the remaining two or
more commits should be its parents. A convenient way to produce
the desired set of revisions is to use the {caret}@ suffix.
For instance, if `master` names a merge commit, `git diff master
master^@` gives the same combined diff as `git show master`.
'git diff' [<options>] <commit>\...<commit> [--] [<path>...]:: 'git diff' [<options>] <commit>\...<commit> [--] [<path>...]::
This form is to view the changes on the branch containing This form is to view the changes on the branch containing
@ -196,7 +207,8 @@ linkgit:git-difftool[1],
linkgit:git-log[1], linkgit:git-log[1],
linkgit:gitdiffcore[7], linkgit:gitdiffcore[7],
linkgit:git-format-patch[1], linkgit:git-format-patch[1],
linkgit:git-apply[1] linkgit:git-apply[1],
linkgit:git-show[1]
GIT GIT
--- ---

View File

@ -24,7 +24,13 @@
#define DIFF_NO_INDEX_IMPLICIT 2 #define DIFF_NO_INDEX_IMPLICIT 2
static const char builtin_diff_usage[] = static const char builtin_diff_usage[] =
"git diff [<options>] [<commit> [<commit>]] [--] [<path>...]"; "git diff [<options>] [<commit>] [--] [<path>...]\n"
" or: git diff [<options>] --cached [<commit>] [--] [<path>...]\n"
" or: git diff [<options>] <commit> [<commit>...] <commit> [--] [<path>...]\n"
" or: git diff [<options>] <commit>...<commit>] [--] [<path>...]\n"
" or: git diff [<options>] <blob> <blob>]\n"
" or: git diff [<options>] --no-index [--] <path> <path>]\n"
COMMON_DIFF_OPTIONS_HELP;
static const char *blob_path(struct object_array_entry *entry) static const char *blob_path(struct object_array_entry *entry)
{ {