How to handle a merge problem

Pete Brunet peter.brunet at oracle.com
Tue Jan 31 17:02:09 UTC 2012


Thanks David, I did the following and with a simple 3 way merge fix on
one file I'm now back in sync.

cd ...\jdk
hg merge

Pete

On 1/30/12 11:01 PM, David Holmes wrote:
> 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