【发布时间】:2011-10-31 07:04:58
【问题描述】:
我最近开始使用 MQ,因为我喜欢在不影响 repo 的情况下处理隔离补丁和提交的想法,直到变更集足够细化。在此之前,我曾经使用 Mercurial 的货架扩展,但发现它有点不稳定。我在 MQ 中仍然试图弄清楚的是如何将补丁彼此分开并以不特定的顺序应用它们,并跨不同的分支应用它们。这是我的正常流程 -
1.开始开发新补丁:
hg qnew fix-bug-1234 -m "fix bug 1234"
# do some work
hg qrefresh
2. 获得一个新功能/错误来解决:
hg qpop fix-bug-1234
hg qnew some-feature -m "implement feature X"
# some work on feature X (perhaps in a different branch)
hg qrefresh
3. 在这一点上,我想回到错误修复工作,并搁置功能工作。我认为这很简单:
hg qpop some-feature
hg qpush fix-bug-1234
# wrap up bug fix
hg qfinish fix-bug-1234
# get back to work on feature
但是,MQ 似乎总是使用该系列中创建的最新补丁,并且无论我使用的是什么 qpop/qpush 命令都应用它。我应该注意,我处理的文件也是完全独立的(尽管它们有时可能是相同的)。
我在这里遗漏了什么吗?我应该为此使用hg qqueue 吗?谢谢。
【问题讨论】:
标签: mercurial workflow shelve mercurial-queue