I like Mercurial Queues for its flexibility and agileness. However, for my personal use, I think it's awkward the patches are not true Mercurial changesets. Is there any plan for this extension to use true changesets? Or are there any alternatives that do so?
-
For a useful answer, would it not be better to ask your question on a Mercurial development forum of some kind, or perhaps submit a feature request for that extension? Going from your own answer, perhaps you meant to ask if there are any alternatives to MQ which use Mercurial changesets? – icabod Feb 04 '13 at 14:30
-
Thanks. I'll try to clarify. – jttpost Feb 05 '13 at 16:46
-
Why do you need to use true changesets? You could just use regular changesets along with extensions like `rebase`, and with the new "phases" concept. Depending on your use case, that could be enough. – Ludovic Chabant Feb 05 '13 at 21:31
2 Answers
There is a very interesting Mercurial extension that will address some of these issues. Mercurial Evolve provides a new approach to safe yet still mutable history, combining the flexibility of MQ with true Mercurial changesets. They also have an interesting concept of "obsolete" changesets which can enhance collaboration between developers.
As of right now it is not in production use, but is making rapid progress in becoming an officially released extension for Mercurial.
There is also a fuller description of the roadmap available.
The user's guide gives multiple examples of typical uses.
And this MQ->evolve reference guide gives mappings from MQ commands to mercurial evolve commands.

- 160
- 1
- 9
As long as you're careful not to share history prematurely, you can do a lot with hg rebase
: You can develop normally in a branch, rearrange and collapse groups of changesets, and finally graft them to the tip of your regular development (the branch name disappears, unless you ask rebase to keep it). You could also simply rearrange default
, but playing around in a branch is closer to the mq
model. I experimented with mq
but switched to using rebase, and I've never looked back. It does everything I could wish for. (What you could wish for is a different question, but you don't say).
To support working with rebase, you can use mercurial phases to keep your changesets from leaking prematurely.

- 48,685
- 16
- 101
- 161