Assuming I have a named branch foo with two commits a, b:
a b c
------o-------o-------o------- # default
\\ d e
Another way to do this, useful also for branches that you have already merged to default is:
hg diff -r "max(ancestors(foo) and branch(default)):foo"
Though that can be a pit of a pain, so i'd recommend setting up an alias by adding something like:
[alias]
branchdiff = diff -r "max(ancestors('$1') and branch(default)):'$1'"
To your Mercurial.INI/hgrc which you can then use like this:
hg branchdiff
or
hg branchdiff .