我有补丁文件,描述了要应用于目录内容的多个文件的更改。
如果可以成功修补所有文件,我想仅应用 。如果任何一个文件都无法修补,我想在不修改任何内容的情况下中止该过程。
我可以先做一个干运行,解析输出,看看是否有任何一个hunk在真正应用之前是否失败了,但必须有一个更好的方法来做到这一点。
编辑〜我所拥有的是一系列带有html / css的文件夹,每个用户可以修改一个。未修改的文件夹是符号链接。 所做的更改通常非常小,因此当我们发布默认代码的更新时,应用补丁来更新它们应该没有问题。
答案 0 :(得分:3)
我建议做一个干跑。您不需要解析输出,只需将其重定向到/ dev / null。退出代码告诉您它是否有效。
来自patch
的手册页,位于“诊断”下:
如果成功应用所有帅哥,则补丁的退出状态为0,如果成功,则为1 有些帅哥不能申请,2如果有更严重的麻烦。 在循环中应用一组补丁时,您应该检查一下 退出状态,因此您不会将以后的修补程序应用于部分修补 文件。
答案 1 :(得分:0)
这样,如果补丁未完全应用,您可以恢复。