OpenJDK 项目正在从 Mercurial 迁移到 GitHub,预计在 2020 年 9 月完成。切换至 Git 代码版本控制系统的部分预期目的是提升性能和对代码审查的更好支持。
OpenJDK 从 2008 年起一直使用 Mercurial 作为源代码管理解决方案,用于存储代码并进行代码审查。如今部分 OpenJDK 项目(如 Loom、Valhalla 和 JMC)已完全从 Mercurial 迁移至 GitHub,还有部分项目例如 JDK 本身正在迁移中,对于这些项目,其仓库已托管在 GitHub 上,但目前仍是只读副本。到 9 月份 GitHub 成为正式的读写主仓库时,JDK 项目将加入其中。
OpenJDK 在 2018 年开始评估 Mercurial 在源代码管理方面的可能替代方案,当时还定义了一系列评估标准,宗旨是“提升所有贡献者(无论是新贡献者还是现有贡献者)的生产力”:
- 性能:从主仓库进行克隆操作的时间、本地操作的时间等
- 空间效率
- 在不同地区的可用性
- 支持常见的开发环境,例如 Linux, Mac 和 Windows
- 能够轻松托管 JDK 的整个历史项目文件和未来十年基于其历史的预计增长
- 支持通用的 JDK 代码审查实践
- 提供程序化 API,以实现流程协助以及审查和流程的自动化
尽管现有的 OpenJDK 开发者熟悉 Mercurial 以及存在一定的迁移成本,但最后还是决定将 OpenJDK 迁移至 GitHub,原因是看中了 GitHub 的性能、丰富的 API 和日渐扩大的社区环境。
查看此 JEP (JEP 369: Migrate to GitHub) 了解迁移至 GitHub 的详细原因。