Let's say I have a changeset I've tagged as "stable". Now I update to "stable" and then start writing my new feature, committing along the way. It's not ready yet, so I don't want to merge it back into stable at this point, but I need to go fix an urgent bug on another branch.

I update to the branch, fix the bug, and commit my changes. Now I want to get back to where I left off, how do I do that?

I can "tag" my feature branch so that I can find it again, but AFAIK tags don't float along my branch as I commit, so it will always be a few revisions behind. This is *good* for "stable" because I don't want that tag to move, but bad for my feature branch.

How do I deal with this?

It just occurred to me that I can `hg up <tag>` and then run `hg up` a second time, and that will bring me to the tip of the branch, no? Seems a bit awkward to run `hg up` twice in a row, but if that's the Mercurial way of doing things, so be it.