在 Mercurial 中使用 mq 时如何解决合并冲突

How to resolve merging conflicts when working with mq in Mercurial

上下文:启用 mq 扩展的 Mercurial

假设您有一个补丁,但在推送更改之前,您想确保您拥有最新最好的版本。

您将弹出补丁 - hg qpop,拉取和更新更改 - hg pullup 并推送补丁 - hg qpush <patchName>

当你试图推送补丁时,你有冲突。不再弹出合并工具(meld、kdiff3 等),而是将所有冲突的 类 添加到扩展名为 .rej 的工作文件夹中,并且未应用 补丁 .

有什么方法可以弹出冲突解决工具而不是 .rej 文件?

使用 3 向合并更新补丁队列的过程在 hgbook 第 12 章§在底层代码更改时更新补丁中进行了说明: http://hgbook.red-bean.com/read/managing-change-with-mercurial-queues.html#sec:mq:merge

如果您胆子大一些,您也可以考虑看看 mercurial 的(仍处于试验阶段)可变历史扩展,它通过使用过时标记更方便地解决了这些问题。