OpenJDK 之後,OpenJFX 也要從Mercurial 遷移到Git
近日OpenJFX項目負責人Kevin Rushforth提交了一份將OpenJFX遷移到GitHub的提案。OpenJFX是JavaFX的開源實現。JavaFX是一個強大的圖形和多媒體處理工具包集合,它允許開發者來設計、創建、測試、調試和部署富客戶端程序,並且和Java一樣跨平台。
由於JavaFX庫被寫成了Java API,因此JavaFX應用程序代碼可以調用各種Java庫中的API,例如JavaFX應用程序可以使用Java API庫來訪問本地系統功能並且連接到基於服務器中間件的應用程序。JavaFX可以自定義程序外觀,CSS將外觀和样式與業務邏輯實現進行了分離,因此開發人員可以專注於編碼工作。(從JDK 11開始,JavaFX模塊與JDK分開提供。)
目前OpenJFX 採用Mercurial託管,隨著Project Skara不斷推進,並且JavaFX已經有部分託管於GitHub,再加上前兩天我們才報導過的,使用Mercurial託管開源項目最多的Bitbucket宣布放棄Mercurial,全面轉向Git,所以OpenJFX項目負責人認為是時候將項目轉到GitHub上了。
Skara 是一個研究用於JDK 源碼管理和代碼審查的備選項的工具,它是官方OpenJDK 上游Mercurial 存儲庫在 GitHub 上的原型鏡像。整個Project Skara 項目是為了將OpenJDK 從Mercurial 中遷移出來,尋找新的託管平台,它的目標不是專門研究Git,而是研究所有可行的替代方案,但是後來相關工具已經在GitHub 上實現,也意味著事實上,Git 方案已經從中勝出。
此前已經有提案提議將所有單存儲庫OpenJDK項目遷移到Git上(JEP 357),提議保留所有版本控制歷史記錄和tag,commit消息將被重新設計以適應Git格式,jcheck、webrev和defpath工具也將針對Git生態進行調整。遷移的主要原因是Mercurial相比Git,版本控制元數據太大,此外,Git的生態上可用工具和可託管性比較強。
實際上,當前Git 才是版本控制的主流。根據Stack Overflow 開發人員調查,近90% 的開發人員使用Git,而Mercurial 是最不受歡迎的版本控制系統,只有約3% 的開發人員採用。作為最廣泛使用Mercurial 的平台Bitbucket,其上的Mercurial 使用量正在穩步下降,而選擇Mercurial 的新Bitbucket 用戶比例已下降至不到1%。
看來Mercurial 真的黃昏了。那麼Git 平台,你選擇哪個?