[11u] Proposal: Switch jdk11u development to Git/Skara with 11.0.13 cycle

Severin Gehwolf sgehwolf at redhat.com
Fri Feb 12 16:37:49 UTC 2021


On Fri, 2021-02-12 at 09:45 +0000, Andrew Haley wrote:
> On 11/02/2021 18:02, Severin Gehwolf wrote:
> > Does Skara help for getting a forest into mono-repo shape? For mainline
> > JDK it was JEP 296 which did it[0]. My understanding is that having a
> > mono-repo is a requirement for a move to git (using skara tooling). If
> > that's true, we'd have to be doing something similar for JDK 8u first.
> > Failing that, we'd have to do a different approach for moving JDK 8u.
> 
> What problems do you forsee? Nothing would be moved or altered, except
> perhaps to delete get_source.sh, but even that isn't essential.
> 
> Have a look at https://github.com/AdoptOpenJDK/openjdk-jdk8u.

Good question. My worry is that we get some detail wrong and discover
it after the switch, when it's too late to change. Some food for
thought:

- Timestamps should match (they don't seem to match the original
  commits in the above repo)
- What are the requirements to get a verified tree up in the openjdk
  namespace? Does it need to pass jcheck for every commit? Do we
  need to relax jcheck/verification for the initial population of the
  repository?
- No extra tags (there seem to be some extra tags in the repo above).
- Is there proper tag-for-tag alignment? Checking out jdk8u282-b08 from
  HG should produce the same sources than checking out jdk8u282-b08
  from monorepo/git.
- What updates would be required for JBS integration? Is that taken
  care of by Skara?

Most of these things seem to be solved with the JEP 296 scripts. The
rest would be solved by skara tooling once there is a monorepo (I
think). At least that's my understanding.

> > Also, do we know how well other efforts of getting the mercurial forest
> > into a single git tree fares in terms of preserving history?
> 
> IMO that one isn't a show stopper, given that the old Hg stuff still
> exists.

Well, to clarify, there is no way we are going to be able to preserve
commit hashes in this conversion. But we at least need accurate enough
history which matches the HG forest history with expected differences
(like cross repo changes for the same bug having multiple commits). The
requirement for me would be that the history goes all the way back to
its inception and would be self-sufficient (no extra HG clone needed).

> 
Don't get me wrong, moving JDK 8u to git is doable, but it'll need some
more thought than 11u.

My preference would be to do it in steps:
1.) HG forest -> monorepo conversion (using JEP 296 scripts)
2.) HG -> git conversion using Skara tooling (should take care of
    proper metadata, etc.)

Thanks,
Severin



More information about the jdk8u-dev mailing list