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

Re: Usability improvement request: git show revision -- file

From: Piotr Krukowiecki <hidden>
Date: 2016-06-15 22:50:57

On Thu, Mar 31, 2011 at 9:50 AM, Michael J Gruber
[off-list ref] wrote:
Piotr Krukowiecki venit, vidit, dixit 31.03.2011 08:45:
quoted
Hi,

if there's existing way to do this please tell me.

There's this file "src/subdir/file". I'm in the "src" directory and want to
see the "file" at specific revision.

Knowing about git show I'd expect something like this to work:

   $ git show master -- subdir/file

But it shows nothing (no output, no warning).
...because you are asking git to show the commit master, filtered by
subdir/file, and if that file is not changed there, the commit is not
It wasn't - I was doing git-blame and wanted to see file as it was before
the blamed commit.

selected. If it is changed there, it shows you only the diff affecting
I see - that makes sense too.

that file. (We might want to change this to filter the diff only.)
Not sure what you mean by that?

quoted
Following also does not
work as expected:

   $ git show master:subdir/file
   fatal: Path 'src/subdir/file' exists, but not 'subdir/file'.
   Did you mean 'master:src/subdir/file'?
But git is really understanding about your situation, isn't it? ;)
Yeah, but this looks like a workround for a common problem -
people specify relative path a lot, so a warning was added.

quoted
Of course following works:

   $ git show master:src/subdir/file

but it's not very convenient to have to specify full path, and it's not what
you would expect given that most other commands accept "-- relativepath"
syntax.
It's not the command in this case, but the "commit:pathspec" syntax, and
for every command which understands it, it is relative to root (i.e.
expects a full path). But we do have a syntax for relative:

git show master:./subdir/file
Thanks, I'll try to remember. I don't have a better idea for solving
this problem.


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