如何拆分和编辑补丁?

max*_*zig 10 vim patch

有时我需要将一个大补丁分成更小的(不相交的)补丁,例如对于包含的每个单独的功能。

通常我通过标准的 vim yank/dd 命令和拆分窗口切换来完成。

但是是否有一些工具/vim 技巧可以帮助进行这种编辑?

例如支持如下命令:将 3 个下一个完整的块移动到打开的补丁文件中

Pet*_*zel 7

您可能想看看 patchutils [1]。对于 vim 部分,我编写了一个小 vim 插件,帮助在补丁中导航:diff_navigator [2]。

[1] http://cyberelk.net/tim/software/patchutils/

[2] http://www.vim.org/scripts/script.php?script_id=2361

  • 您能否扩展您的答案以使其更全面?添加一个示例如何使用 patchutils 设置中的实用程序将大补丁拆分为不相交的补丁会很棒...... (2认同)

tan*_*nte 5

我想有点跑题了,但我仍然认为它很有用。

如果您使用 git 进行开发,您可以轻松地将整个更改拆分为更小的“大块”,每个小块都包含一个功能。您最终会为每个功能提交一次,并且可以使用 gitgit-format-patch来创建(甚至签名和正确属性)补丁,我在这里概述了如何做到这一点