写点什么

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

评论 1 条评论

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

使用 jstat 命令查看内存使用,监控 Java 应用性能

带双筷子🥢去旅行

Java虚拟机 #java

Jira Server 不维护了,如何将 Jira 平滑迁移到阿里云云效

阿里云云效

阿里云 云原生 云效

软件测试学习笔记丨后端接口开发 - MyBatis 增删改查

测试人

软件测试

破茧成蝶,展翅翱翔——行云乔迁,再启新程!

行云管家

行云管家 行云 乔迁

观测云 VS ELK:谁是日志监控的王者?

观测云

ELK 日志分析

RAG 修炼手册|揭秘 RAG 时代的新向量数据库

Zilliz

Zilliz 向量数据库 rag

Databend 开源周报第 143 期

Databend

大营销抽奖系统,DDD开发要如何建模?

不在线第一只蜗牛

部署 LangServe 应用到 AWS

Jade@pluto-lang

AI AWS 教程 langchain Pluto

企业号 5月 PK 榜,火热开启!

InfoQ写作社区官方

热门活动 企业号2024年5月PK榜

阿里巴巴中国站关键字搜索API返回值全攻略:精准定位所需商品

技术冰糖葫芦

API 编排 API boy API】 pinduoduo API

一款自研的热门AI产品-帝阅DeepRead

Baird

AI 产品开发 大模型

深入剖析 Java 类属性与类方法的应用

伤感汤姆布利柏

谷歌确认:链接并不那么重要

九凌网络

通义灵码入职阿里云后,同事们的工作发生了哪些改变?

阿里云云效

阿里云 云原生 通义灵码

我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号

阿里巴巴云原生

阿里云 云原生 通义灵码

Sermant在异地多活场景下的实践

华为云开源

开源 微服务 云原生 服务治理 sermant

AI 001 号员工通义灵码入职阿里云丨阿里云云原生 4 月产品月报

阿里巴巴云原生

阿里云 AI 云原生

京东JD商品详情API返回值揭秘:精准掌握商品信息

技术冰糖葫芦

API 编排 API boy API 策略 pinduoduo API

生成式AI的「七宗罪」!

脑极体

AI

使用 jps 命令查看Java进程

带双筷子🥢去旅行

Java虚拟机

基于云制造的智能工厂简单介绍

inBuilder低代码平台

人工智能 智能工厂

我们团队来了一位新同事,主动要求帮忙敲代码!欢迎 AI 001号

阿里云云效

阿里云 云原生 通义灵码

通义灵码入职阿里云后,同事们的工作发生了哪些改变?

阿里巴巴云原生

阿里云 云原生 通义灵码

开源之夏 Apache StreamPipes 提交 IoTDB 集成项目,速来报名!

Apache IoTDB

利用淘宝商品详情数据接口创新品牌推广方案

tbapi

淘宝商品详情数据接口

ETL工具怎么实现多流SQL实时运算?

RestCloud

sql ETL 数据集成

博睿数据将出席ClickHouse Hangzhou User Group第1届 Meetup

博睿数据

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