QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

评论 1 条评论

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

Redis入门HelloWorld,java入门视频教程

Java 程序员 后端

Redis 最全性能监控指标:汇总实战,实战java虚拟机葛一鸣第二版pdf

Java 程序员 后端

RocketMQ 5(1),kafka面试题零拷贝

Java 程序员 后端

Spring Boot 项目的这些文件都是干啥用的?,java电子书免费

Java 程序员 后端

Spring Cloud Gateway修改请求和响应body的内容

Java 程序员 后端

Spring Boot 快速入门(二),华为工程师面试经历

Java 程序员 后端

Offer拿来吧你!秒杀系统?这不是必考的嘛,kafka与rabbitmq面试题

Java 程序员 后端

OpenKruise :SidecarSet 助力 Mesh 容器热升级

Java 程序员 后端

Redis实战(五)-字符串,kafka基本原理

Java 程序员 后端

SDS——Redis源码剖析,java工程师进阶书籍

Java 程序员 后端

Redis精通系列——info 指令用法,阿里+头条+抖音+百度+蚂蚁+京东面经

Java 程序员 后端

Socket和ServerSocket的简单介绍及例子,mybatis源码面试题

Java 程序员 后端

Nginx面试三连问:如何工作?负载均衡策略有哪些

Java 程序员 后端

P8大牛带你细谈架构中的限流与计数器的实现方式

Java 程序员 后端

RabbitMQ实现即时通讯居然如此简单!后端代码都省得写了

Java 程序员 后端

redis实现分布式限流 结合Lua脚本,Java开发还不会这些

Java 程序员 后端

Oracle 常用SQL语句大全(精),java框架学习顺序

Java 程序员 后端

Redis事务详述,java多并发面试题

Java 程序员 后端

Redis从入门到精通,至少要看看这篇,java医疗管理系统技术描述

Java 程序员 后端

微信朋友圈复杂度分析

abingagl

Redis与MySQL数据双写一致性工程落地案例,java最新技术百度云

Java 程序员 后端

RocketMQ 5,linux端口转发技术

Java 程序员 后端

Offer拿来吧你!秒杀系统?这不是必考的嘛(1)

Java 程序员 后端

Redis 变慢了?那你这样试试,不行就捶我,java面试问职业规划

Java 程序员 后端

set集合框架,java消息中间件面试

Java 程序员 后端

Spring boot记录sql探索,java堆和栈面试题

Java 程序员 后端

Spring Boot 精讲,看完你还敢说你不会 Spring Boot ?

Java 程序员 后端

Nginx架构浅析:为什么不用多线程模型管理连接与处理逻辑业务?

Java 程序员 后端

quartz-2,linux视频教程百度云

Java 程序员 后端

Redis 中 RDB 和 AOF 持久化有啥区别?看这儿,你就懂了

Java 程序员 后端

Redis常用命令总结,kalilinux教程推荐

Java 程序员 后端

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