当前位置:首页 > 科技资讯 > 正文

Linus Torvalds 怒斥无用“Link:”标签,呼吁停止无效自动化

作为Linux世界的终身仁慈独裁者,Linus Torvalds始终亲自把控内核的日常开发。熟悉他风格的人都知道,他性格直率易怒,常常在邮件列表中毫不留情地批评一些工程师。当然,对他而言,这并非单纯的情绪宣泄,而是维护项目质量的一种方式。

最近,Linus Torvalds又一次在Linux邮件列表中发火了?这次引发他愤怒的是Git提交或补丁中越来越多的“Link:”标签——这些链接往往毫无用处,只会浪费宝贵时间。

Torvalds认为这是工程师自动添加的产物,他怒斥道——“我们能不能别再搞这种愚蠢的自动化了?”

无处不在的“Link:”标签为何遭批?

Linux内核开发过程中,每个补丁都通过邮件列表(LKML)提交和讨论。当这些补丁合并到Git仓库时,开发者通常会在提交信息中添加一些“元信息”,例如:

Signed-off-by: —— 标识作者或审核者

Reviewed-by: —— 标识审查者

Acked-by: —— 标识确认者

而「“Link:”标签」也是其中之一。其作用是:在提交中保留一个链接,指向相关的邮件列表帖子、补丁系列、讨论串或错误报告,方便后续追溯。

Linus Torvalds 怒斥无用“Link:”标签,呼吁停止无效自动化 Linux内核开发 Git提交 自动化流程 第1张

问题在于,许多开发者在提交时会自动添加“Link:”标签,但它仅指回补丁邮件本身,而提交信息已包含完整内容。

这等同于“重复信息”,未提供额外价值,导致审核者点开后白白浪费时间。

日前,Linus Torvalds在处理一个块子系统的拉取请求时,直接拉取后又撤回,并在评论中火气十足地说道:

“该死,这个提交带了一个看起来有意义的‘Link:’标签,我还以为它能解释为什么会有这么一个莫名其妙的提交。

结果呢?

老样子,点进去就是一堆重复信息,白白浪费我的时间。

我本来以为它会指向某个oops报告,或者至少能告诉我为什么我最初的判断是错的。

拜托,别再搞这种垃圾了。别再加这种浪费大家时间的无用链接。

只有当链接里有额外信息时,才值得添加。

说真的,我特别讨厌这些没用的链接。我当然喜欢能提供帮助的链接,但我看到的99%链接,全是无意义的废话。它们只会浪费我的时间,再一次!

所以我没拉这个请求。光是要看这些东西我就很烦。如果你真指望我拉取,那就给我一个真正的解释,而不是这种废物链接。

没错,我就是在抱怨。我觉得我的主要工作——甚至可以说唯一的工作——就是努力搞清楚拉取请求的来龙去脉。正因为这样,我才特别痛恨这些自动加上去的垃圾,它们只会让我工作更难。

我把这个邮件抄送给了Konstantin,因为这正好说明了为什么这种自动化机制是在添乱。而他上周还在为这玩意辩护。

能不能别再搞这种自动化蠢事了?”

Linus Torvalds 怒斥无用“Link:”标签,呼吁停止无效自动化 Linux内核开发 Git提交 自动化流程 第2张

Linus:不是不喜欢“Link:”,只是不喜欢没用的“Link:”

然而,被Linus点名的Kernel.org系统管理员团队成员Konstantin并未直接反驳他的抱怨,而是反问道:

“仅供参考,Link: trailers默认不会被添加,维护者必须有意地加上-l参数。

你是希望它完全不起作用,还是更希望它只在patch.msgid.link这个域名命名空间下使用,以明确表示它只是一个来源(provenance)链接?”

Linus Torvalds 怒斥无用“Link:”标签,呼吁停止无效自动化 Linux内核开发 Git提交 自动化流程 第3张

对此,Linus在发完脾气后,能够心平气和地继续讨论。

他补充说明,他并不是反对在所有邮件里都加Link:标签。对于多部分补丁系列,如果希望快速找到对应的封面邮件,他认为这些链接确实有价值,这也是他个人最喜欢的用法。

“我希望至少能有一种办法,能阻止大家这种无脑滥用——而在理想的情况下,最好还能有个更有用的自动加链接的机制。

举个例子,如果是多提交系列补丁的封面邮件,把它的链接放到合并信息里,可能更有用,也没那么烦人。因为当有人在看合并信息时,他们很可能就是在找更宏观的背景信息,或者在解决合并冲突,这时放上初始提交的链接会显得更有相关性。

当然,大多数人并不会在合并时用封面邮件,而是直接按系列应用补丁。所以这样一来,这个链接也更‘无害’——因为它可能根本不会出现在Git历史里,”Linus说道。

Linus还提到,可以通过一些机制来减少“无脑加链接”的行为,比如在添加链接时给个明显的警告,提示:“这个链接可能只是徒增负担”。

不过,他认为更“完美”的做法,或许是有某种自动化检测模型,只有在确实有讨论时才加链接

Linus开玩笑说道,虽然这种模型可能太复杂,但如果有人“岗位职责里就写着‘寻找AI的实际用途’”,那或许可以用AI来做这件事。

「在今天的科技圈,我想这样的岗位确实存在。比如,工具b4本来就会在补丁下游讨论串里扫描,以收集acked-by等信息,那么理论上也能根据‘是否有热烈讨论’来判断一个链接是否值得保留。」

即便讨论本身价值有限,他也宁愿看到一个能指向整个讨论串的链接,而不是仅仅跳转到一个没人回应的单封邮件。至少那样能让他感觉“这里确实有点实质内容”。

最后,Linus还补了一句:“人们常以为补丁提交会在未来某个时候收到更多回复,但现实中几乎不会。因为测试相关的问题通常会新开线程,而不是回复原始邮件。即便有人真回复了,Git里本来就能查到提交,查询方向其实是反过来的。”

对于这一现象,也有不少工程师觉得问题还是出在了Linux用邮件列表的工作方式上,“迟早他得意识到,问题在于邮件列表的工作方式。本身就很滑稽——尤其是当那个对邮件列表里的封面邮件和文本格式抱怨连连的人,恰好又是为了处理这些问题才创造了Git。”

Linus Torvalds 怒斥无用“Link:”标签,呼吁停止无效自动化 Linux内核开发 Git提交 自动化流程 第4张

总而言之,今后提交Linux内核补丁时,请记住“Link:”标签必须带来额外价值,不要随意添加无用链接。

参考:

https://lore.kernel.org/all/CAHk-=wg30HTF+zWrh7xP1yFRsRQW-ptiJ+U4+ABHpJORQw=Mug@mail.gmail.com/

https://lore.kernel.org/all/20250905-lovely-prehistoric-goldfish-04e1c3@lemur/

https://www.phoronix.com/news/Linus-Torvalds-No-Link-Tags