如何修补源文件

时间:2010-03-30 23:42:42

标签: c patch

我正在尝试使用此处提供的文件修补dmenu:http://aur.archlinux.org/packages.php?ID=27334

我不知道该怎么做,我读过我应该patch file-to-patch the-patch,但是在提供的补丁中,涉及的文件不止一个。我已尝试手动修补,但我失败了,它无法编译。

1 个答案:

答案 0 :(得分:3)

实际上,它是patch < the_patchcat the_patch | patch

您可能需要使用-p<n>选项,该选项用于去除修补程序中存储的路径名段。例如,如果补丁是从源树上方的一个级别创建的(就像您将一棵树与另一棵树区分开来)并且您想要从源树中应用补丁,则需要-p

另一个有用的选项是--dry-run。这将像应用补丁一样,但不会修改任何文件。用来测试-p选项是否正确并查看是否正确是一件好事 补丁将干净利落。

我通常做的是更改源树的根,然后运行cat <file> | patch -p1 --dry-run。如果我收到有关未找到文件的错误,我将切换到-p0。一旦其中任何一个工作,我删除--dry-run并真实地执行。