其实patch在具体使用的时候是不用指定原文件的,因为补丁文件中都已经记载了原文件的路径和名称。patch足够聪明可以认出来。但是有时候会 有点小问题。比如一般对两个目录diff的时候可能已经包含了原目录的名字,但是我们打补丁的时候会进入到目录中再使用patch,着个时候就需要你告诉 patch命令怎么处理补丁文件中的路径。可以利用-pn开关,告诉patch命令忽略的路径分隔符的个数。
举例如下:
A文件在 DIR_A下,修改后的B文件在DIR_B下,一般DIR_A和DIR_B在同一级目录。我们为了对整个目录下的所有文件一次性diff,我们一般会到DIR_A和DIR_B的父目录下执行以下命令

patch命令在处理补丁文件时,通过-pn参数指示忽略路径分隔符的个数,避免找不到原始文件的问题。当补丁文件记录的路径与实际路径不匹配时,-p1可以帮助修正这个问题。正确应用patch时要注意补丁的顺序,确保原始文件未经修改,并可能处理版本不匹配导致的失败部分。
最低0.47元/天 解锁文章
2071

被折叠的 条评论
为什么被折叠?



