
9 月 6 日,知名 Linux 之父 Linus Torvalds 公开表达了对 Git 提交信息中 “Link:” 标签滥用的不满。他指出,近期在 Linux 内核的 Git 提交和补丁中频繁出现的 “Link:” 标签,往往没有提供实际价值,反而浪费了开发者和维护者的时间。
Torvalds 在一次 block 模块的 pull request 评审中直接批评道,许多 “Link:” 标签链接内容仅仅是与当前补丁内容重复的信息,并未为评审工作提供任何额外解释或背景。他强调,如果 “Link:” 标签无法带来新的、有意义的信息,比如指向相关的 bug 报告、讨论串、或多补丁系列的封面信件等,最好不要添加这些无用链接。
https://lore.kernel.org/all/CAHk-=wjamixjqNwrr4+UEAwitMOd6Y8-_9p4oUZdcjrv7fsayQ@mail.gmail.com/
虽然 Torvalds 表示,在多补丁系列场景下,需要追溯到系列补丁的 cover letter 时,“Link:” 标签确实能发挥重要作用,但他呼吁大家不要在普通情况下机械地添加该标签。为此,他打算更加严格审核包含无意义 “Link:” 标签的合并请求,如今甚至有可能直接拒绝这类请求。
他还建议未来如果要引入自动化辅助,不妨将 AI 等技术用于检测相关讨论,从而在需要时自动添加有实际参考价值的标签。他直言:“我喜欢有用的链接,但 99% 的链接都只是浪费时间的垃圾。”
Torvalds 呼吁 Linux 开发者们在今后的补丁提交中,务必确保 “Link:” 标签切实为代码评审和问题追踪带来帮助,否则应避免使用。
全文如下:
该死的,这次提交明明带着那个充满希望的 "链接:" 参数,我本以为它能解释这个毫无意义的提交为何存在,但一如既往地,那个链接只是浪费我的时间 —— 指向的又是那些老掉牙的信息。
我原本期待它能指向某个错误报告之类的东西,解释为什么我的最初反应是错误的。
别再搞这种垃圾了。别再添加浪费人时间的无用链接参数。
只有当链接包含 * 额外 * 信息时才添加。
该死,我真的讨厌这些无用链接。我喜欢看到 * 有价值 * 的链接,但实际看到的 99% 都指向愚蠢无用的垃圾,而且 * 只会 * 浪费我的时间。又一次。
所以我不打算合并这个请求,光是看到它就让我恼火。若真要我合并,请给出实质解释而非无用链接。
没错,我正处于暴躁状态。感觉我的主要工作 —— 实际上唯一的工作 —— 就是处理合并请求,因此我极度厌恶这些自动添加的垃圾内容,它们只会让我的工作更难做。
“所以我希望至少有某种方式能阻止这种机械、无脑的使用 —— 在理想情况下,还可以有一种更有用、自动添加链接的模式。
例如,我觉得对于多提交系列的封面信件来说,链接到补丁系列的提交记录可能更有用 —— 而且也不会那么烦人 —— 因为它会被加入到合并信息(merge message)中,而不是每一个具体提交中。
因为如果有人真的在查看合并信息,他们很可能是在查找更宏观的背景信息 —— 或在处理某个合并冲突 —— 此时我认为最初的提交可能就更相关。
当然,大多数人实际上并不会在合并时使用封面信件,他们只是把补丁作为一个系列应用,所以其实也没那么烦人,因为它根本不会存在于 git 历史记录里;)
总之,‘阻止无脑使用’可能就只是加个大大的警告,提醒大家:这个链接可能只会带来烦人的负担。
相比之下,一个‘完美’的模式可能是实现某种自动化 ——‘除非真的有实际讨论发生’。
不过我觉得这种模式可能太复杂,除非真的有人愿意探索用 AI,因为他们的工作描述就是‘寻找 AI 的实际用途’。在如今的科技世界中,我相信确实有人这样定位自己的岗位。唉。
举例来说,既然‘b4’最终会浏览补丁的下游帖子以便自动添加 acked-by 等信息,我确实觉得理论上可以建立这样一个启发式模型:‘某个补丁有活跃的邮件讨论,所以值得加上链接’。
坦率地讲,就算这种讨论最终没有什么实质内容,我想只要这个链接至少指向某个帖子(而不是那些已经收集起来的 acked-by 邮件),我也会觉得没那么烦人,相比那种只是指向单封邮件、没人回复过的链接。至少这样我会觉得多少有点实际内容。
当然,一如既往,我也意识到有些人认为补丁提交邮件之后,以后或许会有更多邮件回复。但实际上,这种情况很少见,因为后续测试中的问题往往会创建新邮件,而不是回复原始邮件(而且即便有人真去回复了原始邮件,我们也可以很容易根据提交查找邮件,反过来也可以查到)。”