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