[PATCH] docs: clarify git diff modes of operation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]