On Fri, Jan 20, 2017 at 02:12:12PM +0000, Stefan Hajnoczi wrote:

> I find <rev>:<path> vs <rev> -- <path> confusing:
> 
>             | <rev>:<path>         | <rev> -- <path>
>   ----------+----------------------+---------------------
>   git grep  | OK                   | OK
>   ----------+----------------------+---------------------
>   git show  | OK                   | <path> ignored
>   ----------+----------------------+---------------------
>   git log   | no output            | OK
>   ----------+----------------------+---------------------
> 
> Neither syntax always does what I expect.  If git show <rev> -- <path>
> honored <path> then I could use that syntax consistently.
> 
> Sorry for going on a tangent.  Does it seem reasonable to handle <path>
> in git-show(1) as a UI convenience?

It's not ignored; just as with git-log, it's a pathspec to limit the
diff. E.g.:

  $ git show --name-status v2.9.3
  ...
  M       Documentation/RelNotes/2.9.3.txt
  M       Documentation/git.txt
  M       GIT-VERSION-GEN

  $ git show --name-status v2.9.3 -- Documentation
  M       Documentation/RelNotes/2.9.3.txt
  M       Documentation/git.txt

That's typically less useful than it is with log (where limiting the
diff also kicks in history simplification and omits some commits
entirely). But it does do something.

-Peff

Reply via email to