Re: How to selectively recreate merge state?

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

 



Dnia piątek 11. grudnia 2009 02:11, Junio C Hamano napisał:
> Jakub Narebski <jnareb@xxxxxxxxx> writes:
> 
> >   --unresolve::
> >         Restores the 'unmerged' or 'needs updating' state of a
> >         file during a merge if it was cleared by accident.
> >
> > Unless "git add foo" not only adds current contents of foo at stage 0,
> > but also removes higher stages from index...
> 
> By definition, adding anything at stage #0 is to remove higher stages.

Hmmm... let's test it:

 $ git merge side-branch 
 Auto-merging foo
 CONFLICT (content): Merge conflict in foo
 Automatic merge failed; fix conflicts and then commit the result.
 $ git ls-files --stage
 100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1       foo
 100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2       foo
 100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3       foo
 $ <edit foo>
 $ git add foo
 $ git ls-files --stage
 100644 a1b58d38ffa61e8e99b7cb95cdf540aedf2a96b3 0       foo

Now let's test '--unresolve' option of git-update-index:

 $ git update-index --unresolve foo
 $ git ls-files --stage foo
 100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2       foo
 100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3       foo

WTF? What happened to stage 1 (ancestor)?


 $ git checkout --conflict=merge foo
 error: path 'foo' does not have all three versions

Let's recover it by hand:

 $ echo -e "100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1\tfoo" | 
   git update-index --index-info
 $ git ls-files --stage foo
 100644 257cc5642cb1a054f08cc83f2d943e56fd3ebe99 1       foo
 100644 3bd1f0e29744a1f32b08d5650e62e2e62afb177c 2       foo
 100644 469a41eda5c8b45503a3bfc32ad6b5decc658132 3       foo
 $ git checkout --conflict=merge foo

-- 
Jakub Narebski
Poland
--
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]