东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

OpenJDK 迁移至 Github

  • 2020-08-10
  • 本文字数:1176 字

    阅读完需:约 4 分钟

OpenJDK迁移至Github

OpenJDK 从 Mercurial 迁移至 GitHub 将会在 2020 年 9 月份完成。新的源码管理方案预期所带来的好处包括性能的改善以及更好的对代码评审的支持。


OpenJDK 从 2008 年以来就使用 Mercurial 源码管理方案来存储源码并执行代码评审。有一些 OpenJDK 项目已经迁移到了 GitHub 上,JDK 项目将会紧随其后,在 2020 年 9 月 Github 将会成为官方的主读取/写入仓库。


有些 OpenJDK 项目,如 Loom、Valhalla 和 JMC 已经完全从Mercurial迁移到了GitHub。有些其他的项目,如 JDK 本身,则正在迁移的过程之中。对于这些项目来说,仓库已经放到了 GitHub 上,但依然是一个只读的副本。


负责迁移至 GitHub 的 Joe Darcy 最近更新了当前的状态:我们希望在 JDK 15 结束,JDK 16 开始的这个时间点,将 JDK 主线迁移至 Skara。JDK 15 会在 2020 年 9 月发布,JDK 16 会在 2021 年 3 月发布。


在 2018 年,Skara 项目启动,它的目的是评估 Mercurial 源码控制管理工具的替代方案。项目的使命描述这样写到:让所有的贡献者更加高效,包括新的贡献者和已有的贡献者。


在该 Twitter 上的声明之后,Darcy 在邮件列表中给出了一个更详细的描述:我们正在考虑在 2020 年 9 月初,将 github.com 上的 jdk/jdk 仓库作为 JDK 16 源码的主读取/写入仓库。这可能会在 JDK 15 发布 GA 版本的前几周进行,也就是按照JDK 15的周期,在 6 月份 fork 一个单独的 JDK 15 仓库出来之后。


jdk.java.net发布的早期可访问 JDK 16 构建可能会在仓库转移之前转换成基于 Git,而不再是基于 Mercurial。JDK 构建使用哪种 SCM 作为基础可以通过 build 根目录下的“release”文件推断出来。除了其他的一些信息之外,release 文件记录了 SCM 以及用于构建的源码的 SCM 散列值。


为了评估 Mercurial 可行的替代方案,Skara 定义了一个评估标准的列表


  • 性能:从主仓库 clone 操作的耗时、本地操作的耗时等等。

  • 空间的效率。

  • 不同地域的可用性。

  • 支持常用的开发环境,如 Linux、Mac 和 Windows。

  • 能够很容易地托管 JDK 的整个历史,以及未来十年 JDK 预期的增长。

  • 支持 JDK 通用的代码评审实践。

  • 提供编程 API,以支持评审和过程的辅助与自动化。


尽管现有的 OpenJDK 开发人员很熟悉 Mercurial,另外还有迁移相关的成本,但是 Skara 项目成员还是决定迁移到 Git。


迁移到 Git 的主要原因是版本控制系统元数据的大小以及在工具和托管方面的可用性。JEP 357:从Mercurial迁移到Git详细描述了使用 Git 的动机。


选择 GitHub 是因为它的性能、API 和蓬勃的社区。JEP 369:迁移至GitHub解释了迁移到 GitHub 的原因。


Skara 本身在 GitHub 上有自己的一个仓库,包含了一个辅助转换到 GitHub 的工具列表。有一些工具可以将 Mercurial 仓库导入到 Git 中,也包括反向导入的功能。除此之外,还提供了 CLI 工具来帮助迁移,比如将 Mercurial 转换为 Git 散列。


原文链接:


OpenJDK Migrates to Github


2020-08-10 16:381888

评论 1 条评论

发布
用户头像
还不错
2020-08-10 17:08
回复
没有更多了
发现更多内容

架構師訓練營第 1 期 - 第 10 周作業

Panda

架構師訓練營第 1 期

架构师训练营第六周作业

李日盛

CAP

Week6 (技术选型二)作业1

Sean Chen

架构师训练营week10

FG佳

架构师一期

第六周作业

willson

极客大学架构师训练营

CAP原理简述&Doris 临时失效处理过程

Mars

CAP原理

架构师训练营 - 第 10 周课后作业(1 期)

阿甘

关于微服务架构

天天向上

极客大学架构师训练营

【架构师训练营第 1 期 10 周】 作业

Bear

极客大学架构师训练营

训练营第六周总结

大脸猫

极客大学架构师训练营

技术选型总结二

Mars

技术选型

训练营第六周作业

大脸猫

极客大学架构师训练营

第六周 cap原理

落朽

【第十周】课后作业

薇凉

LeetCode题解:121. 买卖股票的最佳时机,一次遍历,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

【第十周】课后作业

云龙

「架构师训练营第 1 期」第十周作业

张国荣

架构师训练营第一周”架构方法“作业

随秋

极客大学架构师训练营

Spring中的线程池与任务调度

Rayjun

Java spring 线程池

Week 6 作业

evildracula

学习 架构

第 10 周 作业

Pyr0man1ac

BATJ一线大厂面试必问的4大框架源码,该如何学习?

Java架构师迁哥

week 6 学习笔记

willson

架构师 01 期,第十周课后作业

子文

架构师训练营第六周学习笔记

李日盛

笔记

架构方法 - 学习笔记

心晴雨亦晴(~o~)

第六周学习总结

晴空万里

第十周学习总结

knight

架构师训练营第一周”架构方法“学习笔记

随秋

极客大学架构师训练营

Week6 (技术选型二)作业 2

Sean Chen

架构师训练营week10总结

FG佳

OpenJDK迁移至Github_开源_Johan Janssen_InfoQ精选文章