Linux之父Linus Torvalds又双叒开炮啦,批评Github创造了“毫无用处的垃圾合并”。
关于Linus的这条评论可以在Linux开发邮件列表的存档中查看,是针对Paragon Software的创始人兼首席执行官Konstantin Komarov的,最近他们将自己的 NTFS 驱动提交到了 Linux 内核。
在邮件中,Linus 回复道:
我注意到其中有一个 GitHub 合并提交,这真的是我特别不想看到的一件事——GitHub 创建了完全没用的垃圾合并,你永远不应该通过 GitHub 来合并任何东西。
其实,早在2012年,Linus就解释过他为什么不使用GitHub进行pull requests:
Git自带了一个很好的pull-request生成模块,但是Githubithub却决定用他们自己的低劣版本来替代,丢弃了所有相关信息,例如请求他拉取代码的贡献者,但 Linus 无法找到这名贡献者的有效邮件地址。因此,我认为Github对这类事情毫无用处。它可以用于托管,但pull请求和在线提交编辑都是纯粹的垃圾。
这次的起因是这样的:Paragon Software的驱动程序提高了与本机Windows文件系统NTFS的互操作性。提交程序开始于一年多前,但遭到了投诉,称其2.7万行代码太大,无法审查。
在这个过程中Linus也提供了指导,今年7月,Torvalds指出:不要仅仅将代码发布到fsdevel列表中,塔最终必须作为一个实际的Pull请求提交,Paragon在2021年9月3日周五提交了pull请求。这个提交PR整体来看并无太大问题,但其中包含了一个“GitHub 合并提交”。也是这个Github合并把Linus惹恼了。
Linus使用Paragon公司的commit进行了举例,他表示下面的内容是不能被接受的,更不用说还附带了名字为"github.com"这种虚假的committer 信息。
- Merge branch 'torvalds:master' into master
Linus指出,在理想的世界里,PR应该经过PGP签名,并且他可以通过信任链直接追踪到PR提交者
最后Linus还是合并了Paragon软件公司提交的代码,他说道:“我现在会接受这些提交,但在以后的开发中,你们需要在符合规则的情况下完成任务。”