How to handle a merge problem

David Holmes david.holmes at oracle.com
Tue Jan 31 05:01:13 UTC 2012


On 31/01/2012 2:50 PM, Pete Brunet wrote:
> Hi David, It might help to know that I had pulled the code back in
> September or so, made several changes, and then got diverted onto
> another project for a while.  So now I'm trying to get back in sync with
> the latest code.  The first thing I did was update my patch with hg
> qrefresh and then from cygwin ran get_source to update the code.

AFAIK youshould  only ever use get_source once as it will do a clone 
followed by an update. Maybe subsequent clone attempt just cause an 
error and are ignored?

All you needed to do with issue the "hg pull -u" for each repo, which 
you could do with either the forest extension ("hg fpull") or using the 
make/scripts/hgforest.sh helper.

> it's quite possible I will have merge conflicts, but I don't know the
> process to find and fix them in this case.

If you do an update and there are conflicts then it won't update and 
will tell you to run hg merge. hg merge will then show you what 
conflicts there are and get you to resolve them. If you have the 
filemerge tool configured it will use the filemerge tool for that.

> Or maybe I should start from
> scratch, apply my patch and fix the issues that way.  I seem to remember
> that the one time I did have a problem applying a patch to fresh clone I
> was able to fix them.  -Pete

Might be easiest depending on how many files are in conflict.

David
-----


>
> On 1/30/12 8:56 PM, David Holmes wrote:
>> Pete,
>>
>> On 31/01/2012 12:45 PM, Pete Brunet wrote:
>>> I just did the following:
>>> sh ./get_source.sh
>>>
>>> and got this:
>>> <snip>
>>> # cd ./jdk&&   hg pull -u
>>> pulling from http://hg.openjdk.java.net/jdk8/jdk8//jdk
>>> searching for changes
>>> adding changesets
>>> adding manifests
>>> adding file changes
>>> added 563 changesets with 3123 changes to 2661 files (+1 heads)
>>> not updating: crosses branches (merge branches or update --check to
>>> force update)
>>> # exit code 0
>>
>> This shouldn't be possible. get_source will first clone the repos then
>> do a hg pull (why? Given it just cloned it!)
>>
>> It may be that you were extremely unlucky and between the clone and
>> the pull there was an integration push to the repo. Even so you
>> shouldn't get multiple heads. ???
>>
>>> How do I fix this?  I haven't found instructions on the various OpenJDK
>>> sites.
>>
>> Delete the jdk repo and start again is all I can suggested to get back
>> to a sane state.
>>
>> David
>> -----
>>
>>> Pete



More information about the build-dev mailing list