代码之家  ›  专栏  ›  技术社区  ›  Justin L.

将一个补丁一分为二(理想情况下在VIM中)

  •  2
  • Justin L.  · 技术社区  · 15 年前

    我有一个补丁,我想分为两个补丁。我需要用每行的粒度来分割补丁——我不能只将大块划分为两个单独的文件。

    我可以使用emacs diff模式,但我是一个vim用户,我不想学习emacs。我在mercurial队列中管理这个补丁,我一直在使用crecord插件,但是对于大型补丁来说,它相当麻烦,而且UI非常慢。

    理想情况下,我想使用vim来编辑我的补丁,但我还没有找到合适的插件。否则,除了Emacs以外,任何比Crecord更好的东西都会对我有所帮助。这样的事情存在吗?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Jonathan Leffler    15 年前

    似乎有两个合理可接受的答案:

    • 有什么原因吗 vimdiff 不够好吗?您可以编辑原始副本和修补副本的副本,将所需的更改移动到原始副本上,保存它,将其与真正的原始副本进行比较以创建第一个修补程序,并将完全修补的版本与它进行比较以创建第二个修补程序。杰弗洛米2009-08-25 20:49.

    • 我一直在使用 VCSVimdiff 长时间使用Mercurial,效果非常好。东非2009-12-24 13:55

    如果有人投了赞成票,这个问题将从未回答的列表中删除;这是社区维基,所以对我没有好处。

        2
  •  0
  •   RyanWilcox    15 年前

    如果你在这个问题上加上mercurial标签,周围的一些mercurial专家可能会看到…

        3
  •  -1
  •   Michal Čihař    15 年前

    手动分割补丁的理想工具是 git add -i .

    你也可以试试 filterdiff ,但这取决于它是否允许您要执行的操作。