How to handle a merge problem
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
> 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 OpenJDK
>> 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