【发布时间】:2011-03-28 17:49:19
【问题描述】:
我正在维护一个自定义 Linux 内核,该内核由来自各种来源的合并更改组成。这是针对嵌入式系统的。
与我们合作的芯片供应商发布了一个板级支持包,作为对主线内核 (2.6.31) 的更改。此后,我进行了更改以支持我们的自定义硬件,并与稳定的 (2.6.31.y) 内核版本合并。我还合并了我们使用的特定文件系统驱动程序的错误修复,有时在更改进入主线内核之前。
对于如何管理各种贡献来源和我自己的更改,我并不是很系统。如果变化很大,我倾向于合并;如果它很小,我倾向于将第三方变更集重新定位到我自己的基础上。一般来说,合并冲突很少见,因为我的大部分工作都会影响到不在主线内核中的驱动程序。
我想知道是否有更好的方法来管理所有这些。一个问题是我的更改与合并混合在一起。历史可能类似于:
2.6.31 + 板级支持包 + 我的更改 (1) + 2.6.31.12 更改 + 我的更改 (2) + 文件系统驱动程序更新 + 我的更改 (3) + 2.6.31.14 更改 + 我的更改 (4) + ....
我有点担心我的更改混入其中,有时是在合并的另一端。有一个更好的方法吗?特别是,当我切换到较新的内核时,有没有一种方法可以让生活更轻松?
【问题讨论】: