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

Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
新智元报道
来源:Linus
编辑:LRS
【新智元导读】Linux之父Linus最近在邮件列表中又炮轰GitHub , 直指GitHub的合并机制 , 直言只能产生绝对无用的「垃圾」信息 , 并告诫后来人:永远不要使用GitHub界面来merge任何东西!
嘴炮大师,Linux之父LinusTorvalds最近又喷人了!
「So,GitHub,fxxkyou!」
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
GitHub是基于git进行版本管理和代码开源的网站 , 并且Linus也是git之父 , 所以Linus可以说是GitHub之父之父(误) 。
这次事件的起因是Paragon软件为Linux内核开发了一个NTFS文件系统的读/写驱动程序代码 , 在commit时写了一个错误的message , 导致Linus火气飙升 。
八月初时 , Torvalds就向Paragon软件公司提出了一个建议 , 要求应该提交一个pullrequest把代码合并到内核源代码中 , 以便将其读/写NTFS驱动程序包含在即将发布的5.15版本内核中 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾】NTFS是Windows原生的文件系统 , Paragon的文件系统实现能够提高Linux和Windows文件的互操作性 , 而现有驱动程序的写支持能力不足 。
事发仓库来自Paragon-Software-Group/linux-ntfs3 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
可以看到在Fork后作者在GitHub初始化pull中写了一句Mergebranch'torvalds:master'intomaster , Linus在邮件中直接说这种message完全是不可接受的 , commitmessage应当是有信息量的 , 可以从fork前的消息看到Linux仓库中TorvaldsLinus一直在遵守约定 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
邮件中还对GitHub明褒暗贬 , 「GitHub哪都好 , 就是merge不行」 。
并表示GitHub的merge只会「创造完全无用的垃圾合并」 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
Linus强调说明 , Linux内核的合并需要在符合规则的情况下进行 , 这就意味着所提交的消息应包含:
1、正在合并的内容以及为什么合并这些内容
2、还需要确切的作者身份和提交者信息等
但GitHub把这些都给省略掉了 , 在Linux的kernel.org中 , 可以看到这些信息一目了然 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
最后Linus表示 , 希望不要再犯这种低级错误了 , 在ksmbd的pullrequest中已经说过一遍了 , 并且我的回应还是和以前一样:GitHub的initalpull通常有点大病 , 这次我会接受 , 但希望你以后开发代码时能够以「合适」的方式 。
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
Linus的这种「直」性格能够极大的提升工作效率 , 一封邮件就把以后Linux相关的merge问题解决了 , 而他的金句也有很多 。
「Talkischeap,showmethecode.」
Linus又炮轰GitHub!看看你们的merge机制,只会产生垃圾
文章图片
2000年8月25日 , 在讨论关于内核线程优化的问题时 , 一个人提出了一个他认为非常高效的方案 , 但Linus并不认同 , 觉得这个人有点喜欢打嘴炮 , 也不想辩论了 , 直接看代码解决好了!这句话也深受广大程序员的认可 , 广为流传 。
除了金句之外 , Linus还喜欢炮轰各种各样看着不爽的东西 。
2007年时 , 有位名为DmitryKakurin的开发者在查看了Git源代码并发现其使用的是纯C而非C++后 , 他表示不可理喻 , 于是发帖喷道(太年轻了 , 敢和Linus喷):「完全没有什么可移植性 , 代码就是一坨屎 。 」BS的意思就是bullshit 。