将补丁应用到指定文件,完全忽略补丁文件中存储的路径/文件名?

将补丁应用到指定文件,完全忽略补丁文件中存储的路径/文件名?

我需要对复杂目录和符号链接场景中的文件应用补丁。无论我如何尝试,我都不知道如何按摩patch以便找到所需的文件。有没有办法完全规避这个问题并且只是明确告诉 patch应该将补丁应用到哪个文件,忽略 .patch 文件中的路径/文件名?

答案1

如果补丁仅包含对单个文件的更改,您应该能够patch通过在补丁名称之前指定它来将这些更改应用到您选择的文件:

patch myfile withthis.patch

将应用于withthis.patchmyfile忽略补丁中的文件名。

引用手册页:

要修补的文件的名称通常取自修补程序文件,但如果只有一个要修补的文件,则可以在命令行上指定为原始文件

答案2

如果补丁仅适用于一个文件,您可以简单地在该位置放置一个符号链接,指向您希望应用补丁的文件。(假设您需要应用其他软件的原因是因为该文件不存在)然后只需应用补丁即可。

即使它指向多个文件,也可以这样完成,并且需要更多时间。

相关内容