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