【发布时间】:2015-01-11 17:46:31
【问题描述】:
我正在尝试找出一个解决方案,您可以使用 linux-next 或任何 linux 内核分支并搜索代码中是否存在一组特定的补丁(补丁文件)。 这可能涉及对内核树进行 git pull,这不是问题,但如果包含一些补丁,我不确定如何进行批量搜索/比较。
应该使用实际的 .patch 文件来完成,还是搜索提交的 ID 就足够了? 有人可以为我提供一些代码或参考来说明如何实现吗? 谢谢!
【问题讨论】:
-
这是一项不平凡的任务,因为许多补丁可能会在上游按顺序接触相同的文件。相当粗略的方法是尝试通过 git apply 应用它们。
-
谢谢安迪,我们假设只想要验证最近的一组补丁,并且内核文件没有从其他来源更改,所以问题的变量是有限的,所以我不暂时不想增加太多复杂性。
-
您可能从未尝试过这样的事情。很多时候,当我在开发一些驱动程序或内核模块时,我创建了一系列补丁。在提交它们并在上游合并之后(好吧,linux-next 在提交发生几天后反映了更改),我重新定位了我的本地分支。超过三分之一的案例失败了。这意味着您不能自动执行此操作,而是要获得一些启发式方法并确定补丁是否在上游。例如,尝试以相反的时间顺序应用它们。但是您必须事先将它们拆分为逻辑“系列”。
标签: git linux-kernel