如何解开/撤消对已应用的 MQ 补丁的合并?

发布于 2024-11-29 23:34:10 字数 99 浏览 0 评论 0原文

我不小心将一个分支合并到应用了补丁的工作区中。

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

I accidentally merged a branch into a workspace with applied patches.

How do I clean up this mess? Do I have to clean the merge (hg up -C) or is there some way to save my merge?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尹雨沫 2024-12-06 23:34:10

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 合并测试 并解决了冲突,并尝试一些不同的事情:

  • 由于涉及补丁而拒绝提交:

    中止:无法通过应用的 mq 补丁提交
    
  • 我无法搁置 TortoiseHg 中的合并。

  • 我无法qnew

    中止:无法管理合并变更集
    

我发现保持合并唯一能做的就是完成补丁并提交合并变更集。根据给定的情况,我认为保留补丁和保留合并是相互排斥的。

我知道 pbranch 允许与补丁合并,并且可能有某种方法可以导入 MQ 补丁进入其中。不过,我认为 TortoiseHg 不支持它。

Mercurial 1.9.1, TortoiseHg 2.1.2

I reproduced the basis of the situation with these commands on a fresh 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

Then I performed hg merge test and resolved conflicts, and tried some different things:

  • Committing is denied due to the involvement of patches:

    abort: cannot commit over an applied mq patch
    
  • I could not shelve the merge in TortoiseHg.

  • I could not qnew:

    abort: cannot manage merge changesets
    

The only thing I found I could do to keep the merge was to finish the patches and commit the merge changeset. With the givens, I think keeping the patches and keeping the merge are mutually exclusive.

I know that pbranch allows merging with patches, and there's probably some way to import your MQ patches into it. I don't think it's supported in TortoiseHg, though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文