編譯丨諾亞
日前,PyPy項目團隊將其主要代碼庫和問題跟蹤器從Mercurial遷移到了微軟旗下的GitHub。
PyPy是Python開發者為了更好的Hack Python而創建的項目。相較CPython,PyPy更加靈活、易于使用和試驗。該項目的目標是,讓PyPy比C實現的Python更容易地適應各個項目和方便裁剪。一般情況下,PyPy比CPython快4.2倍。
核心貢獻者Matti Picus在其博客中表示,“我們仍然認為Mercurial是一個更好的版本控制系統。其命名分支模型和用戶界面更為優越。”
但他補充說,“開源已經與GitHub緊密聯系在一起,而我們(PyPy項目)規模太小,無法改變這一現狀。”
1、無奈的兩度遷移
該項目此前也曾遷移過代碼庫。2010年,它將代碼放在Atlassian Bitbucket上。十年后,又遷移到了由Heptapod托管的Mercurial上。
Picus引用的一個常見問題(FAQ)解答條目曾指出,Git沒有與Mercurial的命名分支相對應的功能;僅因為其他人都在使用GitHub就選擇遷移,這是“理由單薄的論點”。
但現在這一觀點發生了變化。Picus解釋道,這次遷移可能會讓那些認為GitHub已經過于主導的人感到沮喪,但他表示:“不遷移到GitHub會阻礙貢獻和問題報告。”
具體來說,Picus提到,Heptapod倉庫未能被主流搜索引擎很好地索引,因此人們在搜索問題時遇到了困難。新提交的問題被錯誤地當作垃圾信息屏蔽也是另一個問題。GitHub平臺的豐富性也是一個因素,Picus希望“我們可以添加CI(持續集成)任務,以替換部分老舊的構建機器人基礎設施。”
2、遷移不可避免,項目希望獲得更高的參與度
雖然仍有可能繼續使用Mercurial,但Picus表示,需要使用與他用于遷移代碼庫相同的技巧將代碼推送到GitHub。
在結束語中,Picus給出了更多關于為何項目遷移的原因。他希望能獲得更高的可見度,并請求開發者“為倉庫點贊,讓更多人知道如何找到它。”他還邀請潛在貢獻者“利用更熟悉的流程參與到項目中來”。
此次遷移將改變常規工作流程。將不再有直接向“main”分支提交代碼的工作流,貢獻者現在需要采用標準git技術,即先fork倉庫然后提交拉取請求——而在Heptapod上不允許個人創建fork。
PyPy的遷移在很大程度上被認為是不可避免的,并寄希望于能吸引更多貢獻者加入,盡管有人在X平臺上評論道“為什么不是Gitlab”。Reddit上的一位評論者也寫道:“當和你一起工作的所有人都在使用git時,你就不能只用hg。除非你在獨自工作。”
參考鏈接:
https://devclass.com/2024/01/02/pypy-moves-from-mercurial-says-open-source-has-become-synonymous-with-github/
https://www.pypy.org/posts/2023/12/pypy-moved-to-git-github.html