threads / discuss / 18790

need help with git show :1:...

Subject: need help with git show :1:...

## tl;dr

8 messages between Apr 8, 2009 and Apr 8, 2009.

replies: 7people: 2as markdown or json

layer· Apr 8, 2009, 17:41 UTC · lore

I remember this working for me in the not too distant past. I'm using git version 1.6.1.3. Perhaps it was an older version of git when it worked for me.

quadra% ls -l src/c/sock.c -rw-r--r-- 1 layer fi 57909 Mar 9 13:32 src/c/sock.c quadra% git show :2:src/c/sock.c fatal: ambiguous argument ':2:src/c/sock.c': unknown revision or path not in the working tree. Use '--' to separate paths from revisions quadra% git show :1:c/sock.c fatal: ambiguous argument ':1:c/sock.c': unknown revision or path not in the working tree. Use '--' to separate paths from revisions quadra% git show :1:sock.c fatal: ambiguous argument ':1:sock.c': unknown revision or path not in the working tree. Use '--' to separate paths from revisions quadra% git show :1:/src/c/sock.c fatal: ambiguous argument ':1:/src/c/sock.c': unknown revision or path not in the working tree. Use '--' to separate paths from revisions

If I cd to "src/c" and do "git show :1:sock.c" the same thing happens.
Thanks.
Elijah Newren· Apr 8, 2009, 17:58 UTC · re: layer · lore

Re: need help with git show :1:...

On Wed, Apr 8, 2009 at 11:41 AM, layer <layer@known.net> wrote:
Show 18 quoted lines
> I remember this working for me in the not too distant past.
> I'm using git version 1.6.1.3.  Perhaps it was an older version of git
> when it worked for me.
>
> quadra% ls -l src/c/sock.c
> -rw-r--r-- 1 layer fi 57909 Mar  9 13:32 src/c/sock.c
> quadra% git show :2:src/c/sock.c
> fatal: ambiguous argument ':2:src/c/sock.c': unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions
> quadra% git show :1:c/sock.c
> fatal: ambiguous argument ':1:c/sock.c': unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions
> quadra% git show :1:sock.c
> fatal: ambiguous argument ':1:sock.c': unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions
> quadra% git show :1:/src/c/sock.c
> fatal: ambiguous argument ':1:/src/c/sock.c': unknown revision or path not in the working tree.
> Use '--' to separate paths from revisions
Does the file have conflicts?  Try
  $ git ls-files -s src/c/sock.c
and report what the output is.
If it doesn't have conflicts, but the file is tracked by git, using
stage 0 should work:
  $ git show :0:src/c/sock.c
layer· Apr 8, 2009, 18:02 UTC · re: Elijah Newren · lore

Re: need help with git show :1:...

Elijah Newren <newren@gmail.com> wrote:
>> Does the file have conflicts?  Try
>> git ls-files -s src/c/sock.c

Yes, it did have conflicts. I resolved the conflicts via editing, but want to look at the other versions before finalizing the edits.

quadra% git ls-files -s src/c/sock.c 100644 ef6c9b94c678dc79760edfd15a0796b3726b76f6 0 src/c/sock.c quadra%

Elijah, thanks for replying.
Elijah Newren· Apr 8, 2009, 18:07 UTC · re: layer · lore

Re: need help with git show :1:...

Hi,
On Wed, Apr 8, 2009 at 12:02 PM, layer <layer@known.net> wrote:
Show 9 quoted lines
> Elijah Newren <newren@gmail.com> wrote:
>>> Does the file have conflicts?  Try
>>> git ls-files -s src/c/sock.c
>
> Yes, it did have conflicts.  I resolved the conflicts via editing, but
> want to look at the other versions before finalizing the edits.
>
> quadra% git ls-files -s src/c/sock.c
> 100644 ef6c9b94c678dc79760edfd15a0796b3726b76f6 0       src/c/sock.c

That suggests that the file is not unmerged, i.e. that there aren't any remaining conflicts. This explains why your commands wouldn't work unless you used stage 0 instead of 1 or 2. Now, why there weren't conflicts when you thought there were? I have no idea, unless perhaps you did a stray git add src/c/sock.c.

Hope that helps, Elijah

layer· Apr 8, 2009, 18:10 UTC · re: Elijah Newren · lore

Re: need help with git show :1:...

Elijah Newren <newren@gmail.com> wrote:
Show 18 quoted lines
>> Hi,
>> 
>> On Wed, Apr 8, 2009 at 12:02 PM, layer <layer@known.net> wrote:
>> > Elijah Newren <newren@gmail.com> wrote:
>> >>> Does the file have conflicts?  Try
>> >>> git ls-files -s src/c/sock.c
>> >
>> > Yes, it did have conflicts.  I resolved the conflicts via editing, but
>> > want to look at the other versions before finalizing the edits.
>> >
>> > quadra% git ls-files -s src/c/sock.c
>> > 100644 ef6c9b94c678dc79760edfd15a0796b3726b76f6 0       src/c/sock.c
>> 
>> That suggests that the file is not unmerged, i.e. that there aren't
>> any remaining conflicts.  This explains why your commands wouldn't
>> work unless you used stage 0 instead of 1 or 2.  Now, why there
>> weren't conflicts when you thought there were?  I have no idea, unless
>> perhaps you did a stray git add src/c/sock.c.

It was several of weeks ago that I started this merge, and I remember playing with git show then and it worki. I might have overwriten the file with one of the show's and done manual editing that way. I don't know if this makes a difference.

How can I redo the merge for just this file? Is that possible? I think I'd definitely like to start over on *just this one file*.

Thanks.
Elijah Newren· Apr 8, 2009, 18:25 UTC · re: layer · lore

Re: need help with git show :1:...

Hi,
On Wed, Apr 8, 2009 at 12:10 PM, layer <layer@known.net> wrote:
Show 18 quoted lines
> Elijah Newren <newren@gmail.com> wrote:
>>> On Wed, Apr 8, 2009 at 12:02 PM, layer <layer@known.net> wrote:
>>> > quadra% git ls-files -s src/c/sock.c
>>> > 100644 ef6c9b94c678dc79760edfd15a0796b3726b76f6 0       src/c/sock.c
>>>
>>> That suggests that the file is not unmerged, i.e. that there aren't
>>> any remaining conflicts.  This explains why your commands wouldn't
>>> work unless you used stage 0 instead of 1 or 2.  Now, why there
>>> weren't conflicts when you thought there were?  I have no idea, unless
>>> perhaps you did a stray git add src/c/sock.c.
>
> It was several of weeks ago that I started this merge, and I remember
> playing with git show then and it worki.  I might have overwriten
> the file with one of the show's and done manual editing that way.  I
> don't know if this makes a difference.
>
> How can I redo the merge for just this file?  Is that possible?  I
> think I'd definitely like to start over on *just this one file*.

Well, someone else probably knows a clever way to do this. I don't, but the following may help:

MERGE_REF=$(cat .git/MERGE_HEAD) git show HEAD:src/c/sock.c > current-sock git show $MERGE_REF:src/c/sock.c > other-sock git show $(git merge-base $MERGE_REF HEAD):src/c/sock.c > base-sock git merge-file current-sock other-sock base-sock

That'll redo the three way merge on src/c/sock.c (assuming no renames
or other special cases happened) and store the result in current-sock.
 You can then edit that file and when ready, move the result over
src/c/sock.c.
Elijah
layer· Apr 8, 2009, 18:35 UTC · re: Elijah Newren · lore

Re: need help with git show :1:...

Elijah Newren <newren@gmail.com> wrote:
Show 11 quoted lines
>> > How can I redo the merge for just this file?  Is that possible?  I
>> > think I'd definitely like to start over on *just this one file*.
>> 
>> Well, someone else probably knows a clever way to do this.  I don't,
>> but the following may help:
>> 
>> MERGE_REF=$(cat .git/MERGE_HEAD)
>> git show HEAD:src/c/sock.c > current-sock
>> git show $MERGE_REF:src/c/sock.c > other-sock
>> git show $(git merge-base $MERGE_REF HEAD):src/c/sock.c > base-sock
>> git merge-file current-sock other-sock base-sock
Did you mean this?
  git merge-file current-sock base-sock other-sock
The man page seems to indicate that.
>> That'll redo the three way merge on src/c/sock.c (assuming no renames
>> or other special cases happened) and store the result in current-sock.
>>  You can then edit that file and when ready, move the result over
>> src/c/sock.c.
Thanks.  This is a big help.
Elijah Newren· Apr 8, 2009, 18:38 UTC · re: layer · lore

Re: need help with git show :1:...

Hi,

On Wed, Apr 8, 2009 at 12:35 PM, layer <layer@known.net> wrote: <snip>

Show 7 quoted lines
>>> git merge-file current-sock other-sock base-sock
>
> Did you mean this?
>
>  git merge-file current-sock base-sock other-sock
>
> The man page seems to indicate that.
Oops, yeah, current then base then other, like the manpage says.

← back to recent threads