It is an oversimplification to say that we can take "[<commit> [<commit>]]", as it really depends on what options have been given. Instead, let's list the major modes of operation separately, as we do in other manpages. This patch also adjusts the text immediately after the synopsis to match the lines given in the synopsis. For git-difftool, which has the same issue, let's refer the user to the git-diff manpage rather than spelling it all out again. Signed-off-by: Jeff King <peff@xxxxxxxx> --- On Thu, Nov 04, 2010 at 04:43:04PM -0400, Jeff King wrote: > > So AIUI the patch can still be applied and we/you can then work on > > improving the usage string in other ways -- providing that we agree that > > the {M,N} notation should go, of course, which we apparently still > > don't? > > My main argument against that would be that if we are planning on > changing it to something totally different right now anyway, your patch > will just end up making textual conflicts for Junio to resolve. :) I had intially thought I would tweak all three sites that you did, but after thinking about it, I really just want to change the one in Documentation/git-diff.txt. Which turned my patch into a mix of two different changes, and means it probably should just go on top of yours. So here is my patch, which should apply on top of yours. Note that in all versions (the original, yours, and mine) we gloss over the fact that <commit> can actually be any two objects (as long as they are bother either tree-ishs or blobs). I'm not sure if it is worth documenting that subtlety here (at least the tree-ish thing gets mentioned later in the description; I'm not sure we ever document "git diff HEAD:Makefile HEAD^:Makefile" anywhere). Jonathan, does this look ok based on our earlier discussion? Documentation/git-diff.txt | 11 ++++++++--- Documentation/git-difftool.txt | 3 ++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Documentation/git-diff.txt b/Documentation/git-diff.txt index 61728f6..f6ac847 100644 --- a/Documentation/git-diff.txt +++ b/Documentation/git-diff.txt @@ -8,12 +8,17 @@ git-diff - Show changes between commits, commit and working tree, etc SYNOPSIS -------- -'git diff' [<common diff options>] [<commit> [<commit>]] [--] [<path>...] +[verse] +'git diff' [options] [<commit>] [--] [<path>...] +'git diff' [options] --cached [<commit>] [--] [<path>...] +'git diff' [options] <commit> <commit> [--] [<path>...] +'git diff' [options] [--no-index] [--] <path> <path> DESCRIPTION ----------- -Show changes between two trees, a tree and the working tree, a -tree and the index file, or the index file and the working tree. +Show changes between the working tree and the index or a tree, changes +between the index and a tree, changes between two trees, or changes +between two files on disk. 'git diff' [--options] [--] [<path>...]:: diff --git a/Documentation/git-difftool.txt b/Documentation/git-difftool.txt index a02e3b5..6fffbc7 100644 --- a/Documentation/git-difftool.txt +++ b/Documentation/git-difftool.txt @@ -13,7 +13,8 @@ DESCRIPTION ----------- 'git difftool' is a git command that allows you to compare and edit files between revisions using common diff tools. 'git difftool' is a frontend -to 'git diff' and accepts the same options and arguments. +to 'git diff' and accepts the same options and arguments. See +linkgit:git-diff[1]. OPTIONS ------- -- 1.7.3.2.218.g4ee9d -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html