编译丨诺亚
日前,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