我有一个支持新 ARM 平台的 Linux 存储库,我想将其发布到 ARM 内核开发邮件列表上以获得一些反馈,并希望最终将其纳入主流。不幸的是,代码很多,git format-patch
会生成大约 100 个补丁文件。
我读到最好将它们组合在一起进行逻辑更改,但对于新的 ARM 平台,每个部分都与下一个部分一样重要。我最多能做的可能就是将基本平台支持代码与驱动程序代码分开。
此外,我之前的提交有非常模糊的提交消息,例如修复的重新启动代码或杂项修复,我不想将其包含在补丁集中。
在不轰炸邮件列表的情况下传达我的更改的最佳方式是什么?我应该把它压缩成一个巨大的补丁吗?不知何故,我认为发送 100 个补丁文件也不会给人留下良好的第一印象。
干杯,
最佳答案
我建议您针对当前主线内核(目前是 v3.8)进行交互式 rebase 。这看起来像下面这样:
git rebase -i origin/v3.8
在可能的情况下,将相关提交压缩在一起,例如,您可能应该为每个驱动程序进行一次提交,为核心代码的每个逻辑部分进行一次提交,如果它们相互依赖,那就可以了,尽管它不应该是循环的。您不需要保留开发过程中的所有错误修复,目标是使补丁易于理解和集成,而不是让它们讲述历史上准确的故事。
如果您需要拆分现有提交,您可以选择edit
,然后执行git add -p
,这将允许您交互式地选择 diff block 并提交它们一次(此后您可以随时返回重新排序并在必要时进行压缩)。
完成此操作后,您应该拥有一个补丁集,该补丁集将更容易让人们理解(并希望有有用的注释)。我建议您为核心部分(即 1/n、2/n、3/n...)生成补丁集(不包括驱动程序),然后首先提交。处理完这个问题后,您就可以开始推送驱动程序了。
关于git - 向邮件列表提交庞大的补丁集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15064237/