[RFR] jdk9.0.4+12 + functionality
Andrey Petushkov
andrey.petushkov at gmail.com
Tue Apr 10 17:20:34 UTC 2018
Hi Ed,
Pardon me, I’ve overlooked you have -u switch in your hg pull -u …/jdk9u command. This way you’re doing exactly what I’m doing but then I don’t understand how you get the result you say you’re getting. If one does update before merge then the resulting commit will have the diff of the changes which were in current repo (aarch32-jdk9) but are not present in the repo being merged (jdk9u). And hence if I send you the diff it’s of no use for you. E.g. for root repo this gives (please see the list of files)
bash-3.2$ hg log --limit 1
changeset: 2693:c204fb345f30
tag: tip
parent: 2692:1b1226687b89
parent: 1812:563bcbb5ea81
user: apetushkov <andrey at azul.com>
date: Tue Apr 10 16:22:31 2018 +0300
files: common/autoconf/generated-configure.sh common/autoconf/platform.m4 make/common/NativeCompilation.gmk
description:
Test merge with jdk9u
while I presume you’d like to see all the upstream changes in the diff.
So I’ve prepared the cumulative diffs with the following modification to the method:
- for root, hotspot and jdk repos I did not do update before merge, so merge parents go in another order. As such merge changeset as desired has all incoming jdk9u diff as part of it
- for corba, jaxp, jaxws, langtools and nashorn repos it’s impossible to use this method since there is no local diff so pull does not create another head. Instead I ran hg diff over outgoing changesets (hg diff -r "p1(first(outgoing()))" -r "last(outgoing())")
patches are at http://cr.openjdk.java.net/~apetushkov/aarch32jdk9.0.4%2b12/patches/ <http://cr.openjdk.java.net/~apetushkov/aarch32jdk9.0.4+12/patches/>
I’ve verified that root, jdk and corba applied cleanly, the other should be fine I think. However hotspot still does not apply. Apparently there are a few files (two I believe) which had crazy line ends (namely \r\n\r) which make “hg export” and “hg import” commands (or likely diff and patch) be inconsistent. I’m not sure how I could fix the patch to apply :( Maybe remove the problematic files (make/windows/projectfiles/compiler2/ADLCompiler.dsp and make/windows/projectfiles/tiered/ADLCompiler.dsp) from the patch and then "hg rm" them manually (since they are supposed to be removed by the patch). Also please be sure to use case-sensitive file system when applying the patches since otherwise you get the conflict between test/sun/net/www/http/ChunkedOutputStream/CheckError.java and test/sun/net/www/http/ChunkedOutputStream/checkError.java
Thank you,
Andrey
> On 10 Apr 2018, at 15:20, Andrey Petushkov <andrey.petushkov at gmail.com> wrote:
>
>>
>> On 10 Apr 2018, at 14:38, Edward Nevill <edward.nevill at gmail.com> wrote:
>>
>> On Tue, 2018-04-10 at 09:04 +0000, Andrey Petushkov wrote:
>>> The purpose of http://cr.openjdk.java.net/~apetushkov/aarch32jdk9.0.4%2b12/ is yes, only to bump to 9.0.4+12 baseline, nothing more. And yes, I've presumed if I manage to get a better patch I'll present it in some form like that, not the 2G webrev
>>> Anyway, let me sort the update thing out, I still don't get it whether it's my fault or somebody has done something nasty in upstream..
>>>
>>>
>>
>> I think it is mercurial/webrev. It is not very intelligent when it come to merges.
>>
>> I just tried merging only the root as follows.
>>
>> hg pull -u http://hg.openjdk.java.net/jdk-updates/jdk9u
>> hg merge
>> hg commit
>>
>> [note: I did get some conflicts which I had to resolve]
>>
>> If I then do
>>
>> hg outgoing
>>
>> I then get 100s of outgoing changesets
>>
>> Eg.
>>
>> ed at basil:~/openjdk/aarch32/jdk9$ hg outgoing | egrep ^changeset | wc
>> 881 1762 27311
>>
>>
>> These all conflict because they contain within them all the merges which duplicate all the changes. Therefore when I try to import I get conflicts because it is trying to apply the same change multiple times.
> Yes, exactly. That’s why I’ve done a little bit in other way:
> hg pull -u …/jdk9u
> hg up tip
> hg merge
> hg commit
>
> This way the diff for my changeset is all the changes done for aarch32-jdk9 and those are much smaller than upstream (especially for the root repo)
>>
>> What is needed is just the last changeset (IE the one I committed above)
>>
>> hg log
>> changeset: 2693:aad3bd4239d3
>> tag: tip
>> parent: 1812:563bcbb5ea81
>> parent: 2692:1b1226687b89
>> user: enevill
>> date: Tue Apr 10 12:19:54 2018 +0100
>>
>> I can then do
>>
>> hg export 2693 > ../2693
>>
>> In a freshly cloned jdk9 I can then do
>>
>> hg import ../2693
>>
>> and it imports cleanly.
> Yes, of course I can do it. And it is fine for you to verify the update but I suppose we still need the "full version” patch which has all upstream history in it, not only the diff
>>
>> These are 100s of times smaller than the GB generated by webrev.
>>
>> You can then post the single changeset for review (1 for each subtree) and I will be able to import it.
> Working on it, will send ASAP
>
> Thank you,
> Andrey
>>
>> All the best,
>> Ed.
More information about the aarch32-port-dev
mailing list