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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Wed, Apr 8, 2009 at 12:10 PM, layer <layer@xxxxxxxxx> wrote:
> Elijah Newren <newren@xxxxxxxxx> wrote:
>>> On Wed, Apr 8, 2009 at 12:02 PM, layer <layer@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]