Isn\'t this a normal workflow?
[default] $ hg branch foo [foo] $ [... some commits ...] [foo] $ hg update default [default] $ hg merge foo [default] $ h
This is a one-time thing. Just use --new-branch the first time you push a (new) branch. It's normal.
--new-branch
Every other push can remain as hg push, no --new-branch flag.
hg push