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