When I'm working on some particular feature I often fix other pretty much unrelated but easy-to-fix stuff. I make some "dirty" commits during the work. When the feature is finished, I spend a lot of time with hg histedit trying to rearrange all the changes I've made to get nice clean commits before I push them into public. The process is kind of tedious and error-prone, I believe there should be some other way to work.
I've recently found out MercurialMq extension. Am I right thinking that it was designed exactly to facilitate the process I described?
UPD: What about Shelve? How these two are related?