从补丁文件中删除对特定文件的更改

时间:2019-02-05 15:33:46

标签: patch

我有一个补丁文件,可以更改许多文件。它意外地包含了对某些不应该的文件的更改。我可以从补丁中手动删除所有提到的这些文件,以产生正确的补丁文件,但这是一个繁琐的过程。

如何以编程方式(标准* nix工具)从补丁程序中删除所有提及文件的内容?


注意:我没有最初从中生成补丁的Git设置,因此我只对仅适用于补丁文件的解决方案感兴趣。给定这些文件的结构,这应该是可行的。

此问题与Git有关:Create a Patch file excluding some files

此问题与TFS有关:How to remove particular file of a changeset?

1 个答案:

答案 0 :(得分:0)

许多linux发行版都提供patchutils,其中包括一些实用程序:

  

Filterdiff将选择补丁文件中与外壳通配符匹配(或不匹配)的部分。

     

Splitdiff从补丁文件中分离出补丁,因此每个新补丁文件仅更改一次任何给定文件。这样,可以将包含多个增量补丁的文件拆分为单个增量补丁。