写点什么

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

评论 1 条评论

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

透明LED广告屏租赁价格:探究成本

Dylan

广告 LED LED display LED显示屏 LED屏幕

【重磅】JimuReport 积木报表 v2.0 版本发布

JEECG低代码

GitHub 数据可视化 免费报表 开源版本

通义灵码2.5 | 一个更懂开发者的 AI 编程助手

六月的雨在InfoQ

MCP Server AI 编程 通义灵码2.5 编程助手

VMware VeloCloud SD-WAN 6.4 - 领先的 SD-WAN 解决方案

sysin

velocloud

MAZDA EZ-60领衔 长安马自达多款新车型亮相2025重庆车展

极客天地

【HarmonyOS 5】桌面快捷方式功能实现详解

GeorgeGcs

鸿蒙 开发工具 HarmonyOS HarmonyOS NEXT 实践分享

AI Agent驱动下的金融智能化:技术实现与行业影响

申公豹

AI Agent

TG Pro:有效保护您的Mac电脑避免过热或损坏

Rose

Zerto 10.0 Update 7 - 适用于本地、混合和多云环境的灾难恢复和数据保护

sysin

Zerto

详解鸿蒙Next仓颉开发语言中的动画

幽蓝计划

时序数据库 TimechoDB V2.0.4 发布 | 新增用户自定义表函数及多种内置表函数等功能

Apache IoTDB

2025 AICon上海站

IT蜗壳-Tango

苹果Mac电脑五款实用思维导图软件分享

Rose

低代码不是炫技,而是回归需求的必然答案

伤感汤姆布利柏

用 10 个 AI 工具创建独立开发团队

俞凡

人工智能

AI 全栈开发实战营 - 第三章

9527

我离职了,聊聊职场、大学、友情和爱情:人不能两次踏入同一条河流,生命只能倒着被理解,但却必须正着被经历

码哥字节

#职场思考

时序数据库 IoTDB 官方可视化平台 Workbench,一文全面了解!

Apache IoTDB

基于YOLOv8的PCB缺陷检测识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

专为开发者和AI爱好者设计的工具 LM Studio for Mac您的本地 AI 工具包

Rose

Guitar Pro为什么被称为吉他编曲的绝佳软件?Guitar Pro编曲教程

阿拉灯神丁

吉他学习 吉他谱 编曲软件 Guitar Pro8 音乐创作

2025北京智源大会闭幕|黄铁军:构建物理智能体,具身智能目标是星辰大海

智源研究院

HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖

王二蛋和他的张大花

鸿蒙

AI编码工具:面向现代开发者的分层指南

俞凡

人工智能

不是拿着源码过来,就能二开,还需要注意这些

程序员郭顺发

鸿蒙仓颉语言开发实战教程:商城应用个人中心页面

幽蓝计划

React源码阅读(2)-fiber核心构建原理

溪抱鱼

哪款文件比较工具好用?试试 UltraCompare 吧,支持MacOS和Windows

Rose

实用的预设管理器和编辑器 JU-106 Editor for mac

Rose

Go 语言中的 Hot Path 优化:高性能优化实践指南

异常君

Go 高并发 高性能 优化

HarmonyOS运动开发:如何用mpchart绘制运动配速图表

王二蛋和他的张大花

鸿蒙 os

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