AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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:382056

评论 1 条评论

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

十里选一终拿offer,准阿里java程序员分享面试经验!

Java架构之路

Java 程序员 架构 面试 编程语言

年终总结:华为|字节|腾讯|京东|网易|滴滴面经分享(斩获6个offer)

Java架构之路

Java 程序员 架构 面试 编程语言

滴滴夜莺社区文章有奖征集

滴滴云

最佳实践 奖品 案例分享 滴滴夜莺

如何基于Spring Aware和InitializingBean接口实现策略模式

技术进阶之路

Java spring 5 Java设计模式

欢迎来到,2021摄像机竞技场

脑极体

科技,亲吻这个特别的春节

脑极体

夕四今晚加班到2点30,而王二还不打算走《打工人的那些事》

谙忆

万字长文详细总结!关于继承、重写与重载、封装、接口的硬核干货

codevald

Java 接口 封装、继承、多态 类对象

Varchar竟然会自动存储成lob类型?

dbaplus社群

Java并发包源码学习系列:阻塞队列实现之SynchronousQueue源码解析

Java 编程

分页方式,看这一篇就够了。

大伟

分页

满满的干货!阿里开源Java程序员2021年金三银四面试指南

Java架构之路

Java 程序员 架构 面试 编程语言

作业3

瑾瑾呀

webpack | 进阶用法2:代码分割和动态引入的实现方式

梁龙先森

大前端 webpack 28天写作 2月春节不断更

中国为什么加快推进数字人民币

CECBC

数字货币

看完字节大佬的算法刷题宝典,我直接手撕了500道算法算法题

程序员 面试 算法

驱动力读后感之一

张老蔫

28天写作

Gradle Docker插件将SpringBoot应用程序打包为Docker镜像

wjchenge

Docker SpringBoot 2 Gradle

2021最新「阿里」Java高级工程师面试高频题:JVM+Redis+并发+算法+框架

比伯

Java 编程 架构 面试 计算机

如何基于Spring 事件驱动模型实现业务解耦

技术进阶之路

Java spring 架构

用最少人力玩转万亿级数据,我用的就是MongoDB

dbaplus社群

区块链在数字版权领域的应用发展报告(2020)

CECBC

版权保护

产品经理训练营课后作业-第三周-产品思维和产品意识

.nil?

产品经理训练营

最简单的map,filter,forEach,every,some的使用教学

coolFish(呔呆)

方法 Vue 大前端 数组 js

区块链--另一场改变社会组织方式的工业革命

CECBC

区块链

「抖音同款播放器」上市:有效解决卡顿、黑屏和模糊

字节跳动技术团队

静默安装Oracle也没那么恐怖

MySQL从删库到跑路

oracle

架构训练营大作业(一)

一期一会

技术方案设计的方法论及案例分享

阿里巴巴云原生

数据库 流计算 云原生 监控 存储

PanoVideoCall 的 Electron Demo 开源了

拍乐云Pano

html Mac windows Electron js

架构训练营大作业(二)

一期一会

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