Hg close branch without updating
Let's say that the your fix for bug 123456 is reviewed, and you need to make a couple changes.MQ makes it easy to go back and fix up earlier work: If you compare bug-123456-fix.patch and bug-123456-v2.patch, you'll see your most recent changes reflected in the second.You can now qpush your way back to bug-341896-fix if you want to keep working on it, or qnew yourself an entirely new patch to work on!The last important step is updating your mozilla-central repository.Sometimes the queue ends up not being in the order you want.For example, maybe you've been working on two patches, and the second one (the topmost one in your queue) is ready to be pushed before the first one is.You can apply them as Mercurial changesets, unapply them, edit them, and when they're done, turn them into permanent changesets and push them.Each repository has its own queue of patches managed by MQ.
This shows all of the patches you have in your queue.I use the ” tree, confusing your entire team (but don't worry, we'll return to this horror scenario later).However, it's more likely that you'll notice immediately, because Mercurial will display the URL it's pulling from, or you will see it pull a suspiciously large number of changes into the repository. Because a rollback eliminates history, there's no way for the disappearance of a change to propagate between repositories.If you haven't setup a merge tool, you'll need to open the files that had conflicts, fix up the bits of your patch that were in conflict (look at the files that are listed), and Your patches that conflicted should now apply cleanly until the next time you update and a conflict occurs. When you write a patch, it's based on whatever version of the repo you had when you started working.You can learn more about advanced MQ usage from the reference page, but you should now know enough to be able to use MQ effectively for Mozilla development work. Of course, changes are constantly being pushed to the central repository, so by the time you want to push, you'll be out of date.
To split an existing mercurial queue patch you must first move the changes out from the patch and into your working directory, then delete the (now empty) patch from your queue (since qcrecord will create a new patch, not add to that old patch).