mercurial – 如何在应用的MQ补丁上解开/撤消合并?

我不小心将一个分支合并到一个带有应用补丁的工作区.

我该如何清理这个烂摊子?我是否必须清理合并(hg up -C)或者是否有某种方法来保存我的合并?

最佳答案 Mercurial 1.9.1,TortoiseHg 2.1.2

我在新的回购中用这些命令重现了情况的基础:

echo first > file.txt
hg add
hg ci -m first
hg branch test
echo test1 >> file.txt
hg ci -m test1
hg up 0
echo patch >> file.txt
hg qnew -f patch.diff

然后我执行了hg合并测试并解决了冲突,并尝试了一些不同的东西:

>由于补丁的参与,提交被拒绝:

abort: cannot commit over an applied mq patch

>我无法搁置TortoiseHg的合并.
>我无法更新:

abort: cannot manage merge changesets

我发现我唯一可以保持合并的方法是完成补丁并提交合并变更集.有了赠品,我认为保留补丁并保持合并是相互排斥的.

我知道pbranch允许与补丁合并,并且可能有一些方法可以将MQ补丁导入其中.但我不认为TortoiseHg支持它.

点赞