OpenJDK遷移至Github

OpenJDK從Mercurial遷移至GitHub將會在2020年9月份完成。新的源碼管理方案預期所帶來的好處包括性能的改善以及更好的對代碼評審的支持。

OpenJDK從2008年以來就使用Mercurial源碼管理方案來存儲源碼並執行代碼評審。有一些OpenJDK項目已經遷移到了GitHub上,JDK項目將會緊隨其後,在2020年9月Github將會成爲官方的主讀取/寫入倉庫。

有些OpenJDK項目,如Loom、Valhalla和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在郵件列表中給出了一個更詳細的描述:我們正在考慮在2020年9月初,將github.com上的jdk/jdk倉庫作爲JDK 16源碼的主讀取/寫入倉庫。這可能會在JDK 15發佈GA版本的前幾周進行,也就是按照JDK 15的週期,在6月份fork一個單獨的JDK 15倉庫出來之後。

jdk.java.net發佈的早期可訪問JDK 16構建可能會在倉庫轉移之前轉換成基於Git,而不再是基於Mercurial。JDK構建使用哪種SCM作爲基礎可以通過build根目錄下的“release”文件推斷出來。除了其他的一些信息之外,release文件記錄了SCM以及用於構建的源碼的SCM散列值。

爲了評估Mercurial可行的替代方案,Skara定義了一個評估標準的列表

  • 性能:從主倉庫clone操作的耗時、本地操作的耗時等等。
  • 空間的效率。
  • 不同地域的可用性。
  • 支持常用的開發環境,如Linux、Mac和Windows。
  • 能夠很容易地託管JDK的整個歷史,以及未來十年JDK預期的增長。
  • 支持JDK通用的代碼評審實踐。
  • 提供編程API,以支持評審和過程的輔助與自動化。

儘管現有的OpenJDK開發人員很熟悉Mercurial,另外還有遷移相關的成本,但是Skara 項目成員還是決定遷移到Git。

遷移到Git的主要原因是版本控制系統元數據的大小以及在工具和託管方面的可用性。JEP 357:從Mercurial遷移到Git詳細描述了使用Git的動機。

選擇GitHub是因爲它的性能、API和蓬勃的社區。JEP 369:遷移至GitHub解釋了遷移到GitHub的原因。

Skara本身在GitHub上有自己的一個倉庫,包含了一個輔助轉換到GitHub的工具列表。有一些工具可以將Mercurial倉庫導入到Git中,也包括反向導入的功能。除此之外,還提供了CLI工具來幫助遷移,比如將Mercurial轉換爲Git散列。

原文鏈接:
OpenJDK Migrates to Github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章