可以patch
幂等地调用;即,是否存在某些选项组合会导致重复调用与单次调用(对于非空差异)patch
具有相同的效果?patch
答案1
有些补丁可以多次应用,因此无法保证这一点;但
patch -N -r- -i your.patch
将申请your.patch
,忽略任何已经申请的帅哥。
-N
避免尝试恢复已应用的补丁,并-r-
跳过将失败的块保存到.rej
文件。
具有长选项的等效命令是
patch --forward --reject-file=- --input=your.patch
这样运行的时候,如果patch
忽略了帅哥,那就说明失败了。如果唯一的“错误”被忽略了 hunk,它将以代码 1 退出(至少有一个 hunk 失败,或者存在合并冲突);退出代码 2 指示更严重的错误。
¹ 没有上下文的补丁或块,或者添加的行与上下文匹配的地方(例如添加多态函数的补丁,其中声明的前几行与下一个函数匹配)。