Python直譯器PyPy的儲存庫和問題追蹤器目前已經從Heptapod轉移到了GitHub,也就是說現在PyPy已經不再使用Mercurial,而是改用Git追蹤開發。會做出這樣的改變,是因為PyPy開發團隊認為在可存取性、資源豐富度和開源社群廣泛使用度等方面,GitHub表現都較Heptapod更好。

PyPy原本使用Heptapod的自由軟體託管服務,但是PyPy開發團隊認為Heptapod的可探索性和搜尋引擎最佳化程度不足,在Google、Bing、DuckDuckGo等搜尋引擎上的索引不佳,使得一般人難以搜尋到專案中的問題。另外,Heptapod強化了垃圾郵件的控制,導致貢獻者創建問題時會被錯誤標記成垃圾郵件。

開發團隊認為GitHub現在已經成為開源的代名詞,對於小專案來說很難改變這個現狀。GitHub是目前最受歡迎的開源軟體託管平臺,將專案搬遷至GitHub上,可提高專案的能見度,這對於需要資源的小專案來說尤為重要。

而且目前PyPy的開發工作方面,很大程度是要修復問題,因此把所有程式碼都集中在同一個平臺,追蹤互相關連的問題將會更有效率。相比於Heptapod,GitHub擁有更大的資源優勢,開發團隊可以添加持續整合作業,來替代一些老舊的建置機器人基礎設施。

雖然PyPy開發團隊仍然認為Mercurial在命名分支模型和用戶介面上優於GitHub,但是考量平臺的可存取性、資源豐富度,以及在開源社群中的廣泛程度,開發團隊指出,搬遷至GitHub不光是有助於改善專案協作問題,不搬遷到GitHub上更可能對貢獻者的參與和問題報告造成障礙。

PyPy專案從Heptapod移動到GitHub之後,還有許多工作需要進行,像是更新文件和自動化建置設定,以及複製Heptapod上的Wiki到GitHub上,還需要處理未搬遷的合併請求,這些請求需要貢獻者在解決分支命名問題後進行搬遷。

也由於Heptapod不允許個人分叉,之前開發者對主儲存庫有較大的提交權限,但在GitHub上,開發流程將更加結構化,現在開發者需要先分叉儲存庫,並且提交拉取請求來提交變更。PyPy儲存庫也引入了預合併持續整合檢查,確保提交的拉取請求至少通過第一階段的轉換檢查,提高程式碼品質和穩定性。

熱門新聞

Advertisement