This is interesting if you want to work over different repos or do more complicated stuff between the export/import, but to move commits between branches I suggest taking a look at the Rebase Extension as it saved my time more than once in this kind of situation.
Using it your example would be reduced to
hg up 1
hg branch drinks
hg commit
hg rebase -s 2 -d . #Move changeset 2 and descendants to the current commit
Saving fish by writing code! Applications developer in fisheries, specializing in webapps and moving 'enterprise-y' legacy systems to modern agile systems - Email or tweet me if you want to talk!
This is interesting if you want to work over different repos or do more complicated stuff between the export/import, but to move commits between branches I suggest taking a look at the Rebase Extension as it saved my time more than once in this kind of situation.
Using it your example would be reduced to
Absolutely true! I don't mention it in my example, because I was trying to stay comprehensible, but in practice I'm dealing with multiple repos.