OpenJDK项目从Mercurial到GitHub的过渡将于2020年9月完成。新的源代码管理解决方案的一些预期好处是性能和对代码审查的更好支持。
OpenJDK从2008年开始使用Mercurial源代码管理解决方案来存储源代码和进行代码审查。一些OpenJDK项目已经过渡到GitHub,当Github在2020年9月成为官方的读/写主repo时,JDK项目将加入它们的行列。
一些OpenJDK项目,如Loom、Valhala和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在邮件列表上给出了更详细的描述:";我们正在考虑将github.com上托管的JDK/JDK repo过渡到2020年9月初成为JDK 16源代码的读/写大师。这将是JDK 15正式上市日期的前几周,以及根据JDK 15时间表在6月中旬分叉出单独的JDK 15回购之后的几周。
在repo转换之前,jdk.java.net上发布的早期访问JDK16构建可能会转换为基于Git而不是基于Mercurial。哪个SCM用作JDK构建的基础可以从构建根目录中的";Release";文件的内容中推断出来。除其他信息外,发布文件还记录用于构建的源的SCM和SCM散列。
为了评估Mercurial的可能替代方案,Skara项目定义了一系列评估标准:
能够轻松地托管JDK的整个历史以及其历史在未来十年的预计增长。
尽管现有的OpenJDK开发人员熟悉Mercurial并且迁移成本很高,Skara项目成员还是决定迁移到Git。
迁移到Git的主要原因是版本控制系统元数据的大小,以及工具和主机的可用性。JEP 357年:从Mercurial迁移到Git详细描述了Git的动机。
之所以选择GitHub,是因为它的性能、API和扩展的社区。JEP 369:迁移到GitHub解释了迁移到GitHub的原因。
Skara项目本身在GitHub上有一个存储库,并包含一个帮助过渡到GitHub的工具列表。有一些工具可以将Mercurial存储库导入Git,反之亦然。此外,还包括CLI工具来帮助迁移,例如将Mercurial哈希转换为Git哈希。
InfoQ上上周内容的综述每周二都会发布。加入一个超过25万名高级开发人员的社区。查看示例。
选择您的国家/地区我同意InfoQ.com按照本隐私声明中的说明处理我的数据。