2

我有一个支持新 ARM 平台的 Linux 存储库,我想将其发布到 ARM 内核开发邮件列表中以获得一些反馈,并希望最终成为主流。不幸的是,有很多代码并git format-patch吐出大约 100 个补丁文件。

我读到最好将它们组合在一起进行逻辑更改,但对于新的 ARM 平台,每个部分都与下一个部分一样重要。我能做的最多可能是将基本平台支持代码与驱动程序代码分开。

此外,我之前的提交包含非常模糊的提交消息,例如修复重启代码或其他修复,我不希望将其包含在补丁集中。

在不炸毁邮件列表的情况下,让我的更改得到传达的最佳方式是什么?我应该把它压成一个巨大的补丁吗?不知何故,我认为发送 100 个补丁文件也不会给人留下良好的第一印象。

干杯,

4

1 回答 1

2

我建议您针对当前的主线内核(目前是 v3.8)进行交互式变基。这将类似于以下内容:

git rebase -i origin/v3.8

在可能的情况下,将相关的提交压缩在一起,例如,您可能应该为每个驱动程序提交一个提交,为核心代码的每个逻辑部分提交一个提交,如果它们相互依赖也没关系,尽管它不应该是循环的。您不需要在开发过程中保留所有错误修复,目标是使补丁易于理解和集成,而不是让它们讲述历史上准确的故事。

如果您需要拆分现有提交,您可以选择edit然后执行 a git add -p,这将允许您以交互方式选择 diff hunks 并一次提交一个(在此之后,您可以随时返回重新排序并在必要时压缩)。

完成此操作后,您应该拥有一个更容易让人们理解的补丁集(并希望有有用的评论)。我建议您为核心部分(即 1/n、2/n、3/n...)生成一个补丁集,不包括驱动程序,然后先提交。一旦你处理了这个问题,你就可以开始推动司机了。

于 2013-02-25T10:44:37.907 回答