补丁的“全部或全部”政策

时间:2011-05-13 19:24:11

标签: diff patch

我有补丁文件,描述了要应用于目录内容的多个文件的更改。

如果可以成功修补所有文件,我想仅应用 。如果任何一个文件都无法修补,我想在不修改任何内容的情况下中止该过程。

我可以先做一个干运行,解析输出,看看是否有任何一个hunk在真正应用之前是否失败了,但必须有一个更好的方法来做到这一点。

编辑〜我所拥有的是一系列带有html / css的文件夹,每个用户可以修改一个。未修改的文件夹是符号链接。 所做的更改通常非常小,因此当我们发布默认代码的更新时,应用补丁来更新它们应该没有问题。

2 个答案:

答案 0 :(得分:3)

我建议做一个干跑。您不需要解析输出,只需将其重定向到/ dev / null。退出代码告诉您它是否有效。

来自patch的手册页,位于“诊断”下:

  如果成功应用所有帅哥,则

补丁的退出状态为0,如果成功,则为1          有些帅哥不能申请,2如果有更严重的麻烦。          在循环中应用一组补丁时,您应该检查一下          退出状态,因此您不会将以后的修补程序应用于部分修补          文件。

答案 1 :(得分:0)

使用revision control

这样,如果补丁未完全应用,您可以恢复。