Confusing error message

From: Phil Hord <hidden>
Date: 2016-06-15 22:54:07

I messed something up during a rebase in a moved file (probably
because I had rename detection turned off).  So now I want to fix it.

I think I have the commit amended right, but to be sure I want to diff
the old file and the new file.

  $ git diff newfile HEAD^:oldfile
  fatal: Path 'oldfile' exists, but not 'oldfile'.
  Did you mean 'HEAD^:oldfile' aka 'HEAD^:./oldfile'?

This was confusing, so I tried different variants. This one produced
no output, suggesting no differences:

  $ git diff -- newfile HEAD^:oldfile

But this one shows me that there are differences:

  $ git diff HEAD^:oldfile newfile

And so did this one:

  $ git show HEAD -M

Am I spelling the syntax wrong?  Is the <ref>:<path> syntax not
allowed on diff?  If so, why all the inconsistency?

In case I am misreading something here, here is the unmolested command
and output I am using:

$ git diff Tasker_Servers/Server_Common/GuiConfig.h
HEAD^:./Tasker_Servers/Server_CommonGui/GuiConfig.h
fatal: Path 'Tasker_Servers/Server_CommonGui/GuiConfig.h' exists, but
not 'Tasker_Servers/Server_CommonGui/GuiConfig.h'.
Did you mean 'HEAD^:Tasker_Servers/Server_CommonGui/GuiConfig.h' aka
'HEAD^:./Tasker_Servers/Server_CommonGui/GuiConfig.h'?
$ git --version
git version 1.7.11.rc3.219.g94bee05

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