one wonders how this works then, if Hg branches are so sub-optimal:
http://hg-git.github.com/
you can re-write history in mercurial too - with the same obvious implications for both.
one thing that did go away with Hg was the need to merge unfamiliar code because someone upstream did a git-rebase.