希望这是一个正确的问题,而不是softwareengineering.stackexchange。
一些有进取心的人在不久前发布了我的古代(三星Galaxy S DUOS,2012年发布)Android设备的CM11版本。我成功地使用LineageOS 11代码重建了它,现在我想知道将它更新为更新的东西。它可能不是最好的起点,因为较新的Androids可以使用较旧的内核,但我正在查看内核。基本上,源代码中的内核是一个基于3.0的源blob(可能是三星提供的),它位于Git存储库中,顶部有大约一百个提交。使用git log -S和互联网搜索,我可以看到与android-3.0的许多不同之处在于后端移植补丁。所以问题是如何最好地将blob转换为普通的Git存储库。
我的第一个想法是在kernel.org/Android/CodeAurora git树中找到适当的更改,并将它们挑选到git-am中,然后将它们放到android-3.0树中,直到我将差异缩小到可管理的值,然后再应用其余的作为最终提交,然后尝试重新定义到以后(android-3.3开始)内核版本。我确信那里的某个人能够提出改进的方法(也许Git有一些我不知道的聪明技巧)。