Linus 怒批 GitHub:制造了毫無用處的垃圾合并信息
Paragon 軟件公司最近將他們的 NTFS 驅動提交到了 Linux 內核,但 Linus 在把相關代碼拉取到 5.15 版本的內核時,抱怨他們的這個 commit 使用了 GitHub merge,并直言“Github 制造了毫無用處的垃圾合并信息”,永遠都不應該使用 Github 的操作界面來合并任何東西。
Linus 表示,GitHub 是一個很好的代碼托管網站,它在許多方面都做得很好,但「合并」不是其中之一。Linus 強調道,Linux 內核的合并需要在符合規則的情況下進行,這就意味著所提交的消息應包含:正在合并的內容以及為什么合并這些內容。同時,還需要確切的作者身份和提交者信息等。但所有這些都 GitHub 完全搞砸了。
Linus 使用 Paragon 公司的 commit 進行了舉例,他表示下面的內容是不能被接受的,更不用說還附帶了名字為"github.com"這種虛假的 committer 信息。
- Merge branch 'torvalds:master' into master
Linus 指出,每一個 PR 都應該被簽名。在理想的世界里,PR 應該經過 PGP 簽名,并且他可以通過信任鏈直接追蹤到 PR 提交者,但 Linus 實際上從未要求這樣做。
事實上,Linus 早在 2012 年就發布過類似的觀點,他表示自己不會使用 GitHub 的 PR 功能,因為 GitHub 丟棄了所有相關信息,例如請求他拉取代碼的貢獻者,但 Linus 無法找到這名貢獻者的有效郵件地址。Linus 認為,Git 自身就附帶了一個良好的 PR 生成模塊,但 GitHub 卻決定用他們自己的低劣版本來替代。
最后 Linus 還是合并了 Paragon 軟件公司提交的代碼,他說道:“我現在會接受這些提交,但在以后的開發中,你們需要在符合規則的情況下完成任務。”