速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

评论 1 条评论

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

艺术市场的区块链革命

CECBC

趣说Node.js的回调函数

Regan Yue

node.js JavaScrip Regan Yue 10月月更

Node.js 日志之 winston 实践

devpoint

nodejs winston logger 10月月更

并发相关的性质学习笔记

风翱

并发 10月月更

Alibaba最新微服务持续集成,内含(Jenkins+Docker+Spring Cloud+K8S)

Java 架构 面试 程序人生 编程语言

前后端、多语言、跨云部署,全链路追踪到底有多难?

阿里巴巴云原生

阿里云 云原生 全链路追踪

gRPC,爆赞

AlwaysBeta

golang 编程 gRPC 后端 Go 语言

双非学历为进大厂天天刷Java面试题,面试却履败,原因竟是算法?

Java 编程 程序员 架构 IT

面试作弊神器?!阿里P8亲自撰写的这份Java最新面试手册

Java 程序员 架构 面试 后端

应用出海,如何使用苹果 CallKit 提升网络通话体验

融云 RongCloud

音视频 出海社交

面试官:你说说ThreadLocal为什么会导致内存泄漏?

长河

Java

Groovy 记录(2)-CompilationUnit

春秋易简

拿蚂蚁offer,全靠阿里P8大牛总结的Java架构开发手册

Java 编程 程序员 架构 面试

实践篇 -- Redis客户端缓存在SpringBoot应用的探究

binecy

缓存 springboot redis sentinel

五分钟了解 Blazor

智联大前端

blazor

存量时代会员深度运营逻辑

boshi

深度思考 运营

Prometheus 基础查询(一)

耳东@Erdong

Prometheus 10月月更

区块链技术赋能音乐作品版权保护 法院采信存证证书作为有效权属证据

CECBC

从Engineer到Leader,我在思考啥?

夏兮。

互联网 管理 技术人 IT

ToB产品如何自传播(下)

石云升

产品经理 产品思维 10月月更

Serverless 工程实践 | 零基础上手 Knative 应用

阿里巴巴云原生

阿里云 Serverless 云原生 Knative

基于区块链的供应链金融创新

CECBC

学生试卷&答题结构redis存储

Nico

Groovy记录(1)-GroovyClassLoader

春秋易简

Groovy

「架构师教程」二十年架构师「马士兵」大牛的Java高级架构师教程

Java 编程 程序员 IT 计算机

业界良心啊!第五次更新的Spring Cloud Alibaba升级太多内容

Java 编程 程序员 IT 计算机

【Vuex 源码学习】第十二篇 - Vuex 插件机制的实现

Brave

源码 vuex 10月月更

阿里架构师总结Go语言和java语言之间的对比联系

hanaper

隐蔽的角落-这次我们只聊Cilium IPAM

Lance

SSRF漏洞实例分析

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞分析

Facebook宕机事故,暴露了上云不是唯一的答案

脑极体

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