How to handle a merge problem
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.
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.
>> On 1/30/12 8:56 PM, David Holmes wrote:
>>> On 31/01/2012 12:45 PM, Pete Brunet wrote:
>>>> I just did the following:
>>>> sh ./get_source.sh
>>>> and got this:
>>>> # 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
>>> Delete the jdk repo and start again is all I can suggested to get back
>>> to a sane state.
More information about the build-dev