Random notes on Mercurial queues

Working on the various parts of the Mozilla project requires some patch fu.

Basically, everything happens in bugzilla.mozilla.org, where you upload a patch and ask for a review. Once you have started to work on several patches, maintaining several mercurial clones can be tedious. That's where queues are helping a lot.

Mozilla has a nice document about queues. I've also found this Sympy tutorialquite useful.

Here are my random notes about queues so far:
- a queue is a directory of patch files (in .hg/patches). You can qpush or qpull them in your local repo. qpush will apply the current patch and add an entry in the commit log. qpop undoes it. pushing and poping will move you up or down in the stack. - I enabled 'color' in mercurial and use "hg qseries" to know where I am in the stack - I reorder patches by editing .hg/patches/series. Pretty rough but good enough. how come there are no q* command for that ? - to delete a patch, I make sure there are no pending changes, then I do "hg qpop -a; hg qdelete the_patch" - to import a patch from bugzilla, I use "hg qimport -n xxxx.patch https://bugzilla.mozilla.org/attachment.cgi?id=xxxx" where xxxx is the bug number

How do you work with queues ?