Thread (14 messages) flat view 14 messages, 6 authors, 2016-06-15

Re: Undocumented git-diff syntax

From: Santi Béjar <hidden>
Date: 2016-06-15 22:49:45

On Mon, Oct 11, 2010 at 4:17 PM, Yann Dirson [off-list ref] wrote:
On Mon, 11 Oct 2010 15:59:18 +0200
Santi Béjar [off-list ref] wrote:
quoted
On Mon, Oct 11, 2010 at 3:03 PM, Yann Dirson [off-list ref] wrote:
[...]
quoted
Another thought: if we can already compare arbitrary blobs, maybe
it would not be so hard to extend it to take arbitrary contents
that are not stored as blobs yet ?  (a quick hack would be to
insert an object for them, but that does not look too clean...).
 As a use-case, I'm often found generating diffs from within custom
scripts, from contents derived from a git repo, but can't use all
the bells and whistles (--color, --color-words, etc), just because
I have to use plain diff; that makes the output of those scripts
very inconsistent with native git commands.
Are you talking about "git diff --no-index"?
Oh, right.  That's what it takes to read only the 1st paragraph for
each synopsis:

|If exactly two paths are given, and at least one is untracked,
|compare the two files / directories. This behavior can be
|forced by --no-index.

OTOH, that appears not to be 100% accurate (my tests would have
shown me): although --no-index does give me the expected results when
one or two of the files are untracked, I have to explicitely add it,
which seem to contradict this part of the doc.
You are right.

Additionally these two are not equivalent:

$ git diff Makefile ../Makefile
fatal: '../Makefile' is outside repository

$ git diff Makefile $HOME/Makefile
diff --git ...
(with --no-index both work)
That said, this two-path construct would surely deserve its own
synopsis.
+1

Santi
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help