我不小心将一个分支合并到一个带有应用补丁的工作区中。
我该如何收拾这个烂摊子?我是否必须清理合并(hg up -C
)或者有什么方法可以保存我的合并?
我不小心将一个分支合并到一个带有应用补丁的工作区中。
我该如何收拾这个烂摊子?我是否必须清理合并(hg up -C
)或者有什么方法可以保存我的合并?
Mercurial 1.9.1,TortoiseHg 2.1.2
我在一个新的 repo 上用这些命令重现了这种情况的基础:
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 merge test
并解决了冲突,并尝试了一些不同的事情:
由于涉及补丁,提交被拒绝:
abort: cannot commit over an applied mq patch
我无法搁置 TortoiseHg 中的合并。
我不能qnew
:
abort: cannot manage merge changesets
我发现我能做的唯一一件事就是完成补丁并提交合并变更集。根据给定的情况,我认为保留补丁和保留合并是相互排斥的。
我知道pbranch允许与补丁合并,并且可能有一些方法可以将您的 MQ 补丁导入其中。不过,我认为 TortoiseHg 不支持它。