Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾

Java技术迷

共 2648字,需浏览 6分钟

 ·

2021-09-13 03:24

点击关注公众号,Java干货及时送达




  新智元报道  

来源:Linus

编辑:LRS

【新智元导读】Linux之父Linus最近在邮件列表中又炮轰GitHub,直指GitHub的合并机制,直言只能产生绝对无用的「垃圾」信息,并告诫后来人:永远不要使用GitHub界面来merge任何东西!


嘴炮大师, Linux 之父 Linus Torvalds 最近又喷人了!
 
「So, GitHub, fxxk you!」
 
 
GitHub是基于git进行版本管理和代码开源的网站,并且Linus也是git之父,所以Linus可以说是GitHub之父之父(误)。
 
这次事件的起因是Paragon软件为Linux内核开发了一个NTFS 文件系统的读/写驱动程序代码,在commit时写了一个错误的message,导致Linus火气飙升。
 
八月初时,Torvalds就向Paragon软件公司提出了一个建议,要求应该提交一个pull request把代码合并到内核源代码中,以便将其读/写NTFS驱动程序包含在即将发布的5.15版本内核中。
 
NTFS是Windows原生的文件系统,Paragon的文件系统实现能够提高Linux和Windows文件的互操作性,而现有驱动程序的写支持能力不足。
 
事发仓库来自Paragon-Software-Group / linux-ntfs3。
 
 
 
可以看到在Fork后作者在GitHub初始化pull中写了一句Merge branch 'torvalds:master' into master,Linus在邮件中直接说这种message完全是不可接受的,commit message应当是有信息量的,可以从fork前的消息看到Linux仓库中Torvalds Linus一直在遵守约定。
 
 
邮件中还对GitHub 明褒暗贬,「GitHub 哪都好,就是merge不行」
 
 
并表示GitHub的merge只会「创造完全无用的垃圾合并」
 
 
Linus 强调说明,Linux 内核的合并需要在符合规则的情况下进行,这就意味着所提交的消息应包含:
1、正在合并的内容以及为什么合并这些内容
2、还需要确切的作者身份和提交者信息等
 
但GitHub把这些都给省略掉了,在Linux的kernel.org中,可以看到这些信息一目了然。
 
 
最后Linus表示,希望不要再犯这种低级错误了,在ksmbd的pull request中已经说过一遍了,并且我的回应还是和以前一样:GitHub的inital pull通常有点大病,这次我会接受,但希望你以后开发代码时能够以「合适」的方式。
 
 
Linus 的这种「直」性格能够极大的提升工作效率,一封邮件就把以后Linux相关的merge问题解决了,而他的金句也有很多。
 
「Talk is cheap, show me the code.」
 
 
2000年8月25日,在讨论关于内核线程优化的问题时,一个人提出了一个他认为非常高效的方案,但 Linus 并不认同,觉得这个人有点喜欢打嘴炮,也不想辩论了,直接看代码解决好了!这句话也深受广大程序员的认可,广为流传。
 
除了金句之外,Linus还喜欢炮轰各种各样看着不爽的东西。
 
2007年时,有位名为 Dmitry Kakurin 的开发者在查看了 Git 源代码并发现其使用的是纯 C 而非 C++ 后,他表示不可理喻,于是发帖喷道(太年轻了,敢和Linus喷):「完全没有什么可移植性,代码就是一坨屎。」BS的意思就是bullshit。
 
 
Linus直接回复「YOU are full of bullshit.」
 
Linus称,C++标准太复杂导致不合格使用者太多,容易误用和滥用语言特性。C++语言想解决的问题都不对路,都是一些皮毛问题,而没有涉及真正深层次的问题。C++的对象、模板和函数重载都基本上纯粹是C的语法扩展,是语法糖,总体上把C的语法和类型系统都弄得更糟。他建议,在系统编程里直接用C就可以,非系统编程里,应该选择一种有垃圾收集的语言,C++语言的特性基本无用,只会捣乱。
 
因此,什么时候C++都不可能是正确的选择。C++是狗屎,根本没啥设计,只是在C上面加了些渣滓而已。面向对象解决的都是一些小问题。
 
除了C++外,还有万恶之源英伟达,
 
2012年开始很多笔记本配备了采用optimus技术的双显卡设计,即同时具有Intel核心显卡和Nvidia独立显卡。

这种设计没有考虑到Linux系统,导致用户安装Linux系统后遇到无法解决的显卡驱动问题,而且更麻烦的是Nvidia又卖大量芯片给Android用,就导致了那句经典名言。
 
 
Linus上文说的是「NVIDIA 一直是我们与硬件制造商之间遇到的最严重的问题之一。」
 
Nvidia的驱动、CUDA核心运算、DLSS等技术始终闭源,与拥抱开源的Linus注定不合拍,不过我还是想说,
 
老黄,卖点显卡给玩家吧!



参考资料:

https://lore.kernel.org/lkml/CAHk-=wjbtip559HcMG9VQLGPmkurh5Kc50y5BceL8Q8=aL0H3Q@mail.gmail.com/

1、灵魂一问:你的登录接口真的安全吗?
2、HashMap 中这些设计,绝了~
3、在 IntelliJ IDEA 中这样使用 Git,贼方便了!
4、计算机时间到底是怎么来的?程序员必看的时间知识!
5、这些IDEA的优化设置赶紧安排起来,效率提升杠杠的!
6、21 款 yyds 的 IDEA插件
7、真香!用 IDEA 神器看源码,效率真高!

点分享

点收藏

点点赞

点在看 

浏览 26
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报