由于我一直坚持使用Subversion和shell工具,git-gui
等等都是不可能的。是否有任何shell工具可以交互式逐行应用补丁?
答案 0 :(得分:11)
尝试将--dry-run
选项传递给patch
。这将让您识别问题并编辑正确修补的补丁和/或文件。
答案 1 :(得分:4)
ipatch为那些没有使用Darcs版本控制系统的人带来了在Darc中选择和编辑补丁的强大功能和便利。
它允许用户以交互方式将补丁文件拆分为多个补丁文件,并以交互方式和部分方式应用补丁。
作者here的介绍。
答案 2 :(得分:0)
尽管不是交互式的,但另一个选择是手动编辑
.diff
文件并删除不需要的任何更改。如果您在emacs中打开一个diff文件并将编辑器放在
diff-mode
中,则可以编辑补丁,而emacs将尝试更新大块标记。 (Emacs将自动在.diff
中打开diff-mode
个文件。)要在进行更改后手动更新标记,请
C-c C-w
至regenerate the hunk。要一次应用大块,请执行
C-c C-a
。要反向应用,请执行C-u C-c C-a
。您也可以M-x diff-tell-file-name
将它们应用于其他文件。我发现
patch original patch.diff
比patch < patch.diff
更可靠,并且用diff -u
创建的补丁文件更易于使用。