![如何正确修改庞大的补丁文件?](https://linux22.com/image/39002/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E4%BF%AE%E6%94%B9%E5%BA%9E%E5%A4%A7%E7%9A%84%E8%A1%A5%E4%B8%81%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有这个修补。
我想禁用Makefile
和的修补drivers/video/logo/logo_linux
。
这样做的最佳方法是什么?
我是否要对其进行编辑并删除特定条目?如果是这样,是否有一个工具可以正确执行此操作,同时保持文件的正确结构。
答案1
您的问题的简短答案是版本控制。
您正在修补的软件是否受版本控制?如果没有,您可以将其置于版本控制之下,应用补丁,然后有选择地取消应用您不需要的更改。这可以在 Mercurial 中完成,例如:
hg revert filename
这将删除本地更改,例如“Makefile 和 drivers/video/logo/logo_linux 的修补”。
获得修订补丁非常简单
hg diff
如果您使用 Mercurial,或者(可能)
git diff
另一种方法是仅将要修补的文件置于版本控制之下。 diffstat 是一个方便的实用程序,用于发现补丁文件将修补哪些文件。
diffstat patchfile