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 的詳細原因。