OpenJDK 從 Mercurial 遷移到 GitHub
OpenJDK 項(xiàng)目正在從 Mercurial 遷移到 GitHub,預(yù)計在 2020 年 9 月完成。切換至 Git 代碼版本控制系統(tǒng)的部分預(yù)期目的是提升性能和對代碼審查的更好支持。
OpenJDK 從 2008 年起一直使用 Mercurial 作為源代碼管理解決方案,用于存儲代碼并進(jìn)行代碼審查。如今部分 OpenJDK 項(xiàng)目(如 Loom、Valhalla 和 JMC)已完全從 Mercurial 遷移至 GitHub,還有部分項(xiàng)目例如 JDK 本身正在遷移中,對于這些項(xiàng)目,其倉庫已托管在 GitHub 上,但目前仍是只讀副本。到 9 月份 GitHub 成為正式的讀寫主倉庫時,JDK 項(xiàng)目將加入其中。
OpenJDK 在 2018 年開始評估 Mercurial 在源代碼管理方面的可能替代方案,當(dāng)時還定義了一系列評估標(biāo)準(zhǔn),宗旨是 “提升所有貢獻(xiàn)者(無論是新貢獻(xiàn)者還是現(xiàn)有貢獻(xiàn)者)的生產(chǎn)力”:
性能:從主倉庫進(jìn)行克隆操作的時間、本地操作的時間等
空間效率
在不同地區(qū)的可用性
支持常見的開發(fā)環(huán)境,例如 Linux, Mac 和 Windows
能夠輕松托管 JDK 的整個歷史項(xiàng)目文件和未來十年基于其歷史的預(yù)計增長
支持通用的 JDK 代碼審查實(shí)踐
提供程序化 API,以實(shí)現(xiàn)流程協(xié)助以及審查和流程的自動化
盡管現(xiàn)有的 OpenJDK 開發(fā)者熟悉 Mercurial 以及存在一定的遷移成本,但最后還是決定將 OpenJDK 遷移至 GitHub,原因是看中了 GitHub 的性能、豐富的 API 和日漸擴(kuò)大的社區(qū)環(huán)境。
查看此 JEP(JEP 369: Migrate to GitHub) 了解遷移至 GitHub 的詳細(xì)原因。