如何从邮件列表中获取 linux 内核补丁集?

Mad*_*ist 22 patch git linux-kernel

我不订阅 linux-kernel 邮件列表,但我想获得一组几周前发布的补丁并将它们应用到我的内核中进行测试。我对修补、构建等非常熟悉。我的问题是,获得此补丁集副本的最佳方法是什么?它不适用于我所知道的任何 Git 存储库,它只是被发布到邮件列表中进行讨论。

我找到了许多存档 linux-kernel 邮件列表的站点,我可以在那里看到补丁集,但是这些站点都没有下载原始电子邮件的任何方法(我可以找到),因此我可以使用“git apply “或“补丁”或其他什么。只需从我的网络浏览器复制/粘贴内容,由于空格差异等,它似乎不会很成功。

人们如何管理这个?

chi*_*rlu 12

http://marc.info/有每个消息的链接以获取原始正文,https://lkml.org/有(在侧边栏中)链接以下载任何包含的差异。

还有一些具有 NNTP 访问权限的档案可以提供原始消息,尽管我还没有尝试过。


slm*_*slm 7

我找到了部分答案。看起来git可以通过以下开关将电子邮件中的一组补丁应用到您之前签出的代码库:

$ git applymbox /tmp/mbox
Run Code Online (Sandbox Code Playgroud)

这篇题为:Git for the newbie 的文章,还有其他几个使用 git & patching 处理 Linux 内核的例子。

番茄酱

我认为您正在寻找的工具称为ketchup. 主站点似乎在这里。这里有一篇关于它的博客文章,标题为:番茄酱,或如何更有效地管理内核源代码。在 OReilly 书中还有一个使用示例:有用的实用程序:附录 A - 坚果壳中的 Linux 内核

参考

  • 正如我提到的,我没有订阅邮件列表。 (2认同)

小智 5

如果您要应用补丁的项目的邮件列表使用public-inbox (大多数 Linux 子项目和 Git都是这种情况),您可以使用该b4 am工具下载补丁系列的最新版本并将其通过管道传输到git am

b4 am -o- $url | git am
Run Code Online (Sandbox Code Playgroud)

其中url是线程中任何消息的 URL。