我需要对复杂目录和符号链接场景中的文件应用补丁。无论我如何尝试,我都不知道如何按摩patch
以便找到所需的文件。有没有办法完全规避这个问题并且只是明确告诉 patch
应该将补丁应用到哪个文件,忽略 .patch 文件中的路径/文件名?
答案1
如果补丁仅包含对单个文件的更改,您应该能够patch
通过在补丁名称之前指定它来将这些更改应用到您选择的文件:
patch myfile withthis.patch
将应用于withthis.patch
,myfile
忽略补丁中的文件名。
引用手册页:
要修补的文件的名称通常取自修补程序文件,但如果只有一个要修补的文件,则可以在命令行上指定为原始文件。
答案2
如果补丁仅适用于一个文件,您可以简单地在该位置放置一个符号链接,指向您希望应用补丁的文件。(假设您需要应用其他软件的原因是因为该文件不存在)然后只需应用补丁即可。
即使它指向多个文件,也可以这样完成,并且需要更多时间。