Re: git-diff between /dev/null and blob

2 messages, 2 authors, 2016-06-15 · open the first message on its own page

Re: git-diff between /dev/null and blob

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:35

Jakub Narebski [off-list ref] writes:
Currently, due to artifact of git-diff argument parsing you can get diff 
of two arbitrary blobs given by their sha1 id, e.g.
  git diff ab8050ceb4e43522e858768cc2c02fcb91839370 fd05278808d458602587bb024a48726018d30926
Just FYI, it is pretty much by design not artifact to allow
something like this:

	git diff master:Makefile next:Makefile

Re: git-diff between /dev/null and blob

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:36

Junio C Hamano wrote:
Jakub Narebski [off-list ref] writes:
quoted
Currently, due to artifact of git-diff argument parsing you can get diff 
of two arbitrary blobs given by their sha1 id, e.g.
  git diff ab8050ceb4e43522e858768cc2c02fcb91839370 fd05278808d458602587bb024a48726018d30926
Just FYI, it is pretty much by design not artifact to allow
something like this:

      git diff master:Makefile next:Makefile
Which we could get using

        git diff master next -- Makefile

Currently ('next' branch) git-diff manpage talks only about comparing trees.

* When  no  <ent>  is given, the working tree and the index file is compared,
  using git-diff-files.

* When one <ent> is given, the working tree and the named tree  is  compared,
  using git-diff-index. The option --cached can be given to compare the index
  file and the named tree.

* When  two  <ent>s  are  given,  these  two   trees   are   compared   using
  git-diff-tree.

And the only way to compare blobs is by giving directly or indirectly 
(like above) sha1 of the blobs, i.e. only the third case is supported. 

git-diff doesn't understand :<stage>:<filename> and :<filename> for
accessing index version of blob (git-cat-file for example understands
it). Note: <filename> in <revision>:<filename> and <stage>:<filename>
must be wrt GIT_DIR.

It is also no way to specify working tree version of file (blob). We 
could use ::<filename> for that, I think...

-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help