Linus Torvalds <torvalds@xxxxxxxx> writes: > Actually, it's not ambiguous. Just take the named file. If you want to > diff it against HEAD:<named-file>, you should just say so. > > Now, if you _really_ want to be difficult, there's a third option: to diff > it against the named file as named in the index. "git diff" does have the > "--cached" option that would make that case unambiguous too, of course. > > Ie: > > (a) diff against the current HEAD: > > git diff v0.99.6:git-commit-script HEAD:git-commit.sh > > (b) diff against the current index contents for "git-commit.sh": > > git diff --cached v0.99.6:git-commit-script git-commit.sh > > (c) diff against a random file (which may not even be in the index): > > git diff v0.99.6:git-commit-script git-commit.sh > > are all sensible operations, and unambiguous. A small fry in the ointment. What should the parts that are output with --name-only say for such a diff? Blob references like v0.99.6:git-commit-script are resolved by the extended SHA1 interpreter, and all what the caller of setup_revisions() can see and feed the diff machinery with has are their object names. Something like this is a possibility, but is ugly. diff --git a/a2455b0... b/01c73bd... index a2455b0..01c73bd 100644 --- a/a2455b0... +++ b/01c73bd... @@ -1,118 +1,509 @@ #!/bin/sh # # Copyright (c) 2005 Linus Torvalds +# Copyright (c) 2006 Junio C Hamano + +USAGE='[-a] [-s] [-v] [--no-verify] [-m <message>... +SUBDIRECTORY_OK=Yes ... - : 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