逐行应用补丁

时间:2011-02-09 14:17:29

标签: patch

由于我一直坚持使用Subversion和shell工具,git-gui等等都是不可能的。是否有任何shell工具可以交互式逐行应用补丁?

3 个答案:

答案 0 :(得分:11)

尝试将--dry-run选项传递给patch。这将让您识别问题并编辑正确修补的补丁和/或文件。

答案 1 :(得分:4)

  

ipatch为那些没有使用Darcs版本控制系统的人带来了在Darc中选择和编辑补丁的强大功能和便利。

     

它允许用户以交互方式将补丁文件拆分为多个补丁文件,并以交互方式和部分方式应用补丁。

作者here的介绍。

答案 2 :(得分:0)

See this answer.

尽管不是交互式的,但另一个选择是手动编辑.diff文件并删除不需要的任何更改。

如果您在emacs中打开一个diff文件并将编辑器放在diff-mode中,则可以编辑补丁,而emacs将尝试更新大块标记。 (Emacs将自动在.diff中打开diff-mode个文件。)

要在进行更改后手动更新标记,请C-c C-wregenerate the hunk

要一次应用大块,请执行C-c C-a。要反向应用,请执行C-u C-c C-a。您也可以M-x diff-tell-file-name将它们应用于其他文件。

我发现patch original patch.diffpatch < patch.diff更可靠,并且用diff -u创建的补丁文件更易于使用。

Information also documented here.