Store empty (default) branch in branch cache, too.
Operations on this branch don't work otherwise.
Reading branches.cache had to be adjusted to allow an empty label.
Adjusted reading of the cache tip for symmetry, no functional change here.
#!/bin/sh
#
# test for branch handling
#
# XXX: need more tests
hg init
echo a > a
echo b > b
hg ci -A -m 0 -d "1000000 0"
echo aa > a
echo bb > b
hg ci -m 1 -d "1000000 0"
hg tag -l foo
hg update 0
hg parents -b
# test update
hg update -b foo
hg parents
# test merge
hg update 0
echo c > c
hg ci -A -m 0.0 -d "1000000 0"
hg merge -b foo
hg parents -b
# re-test with more branches
hg update -C 0
echo d > d
hg ci -A -m 0.0 -d "1000000 0"
hg merge -b foo
hg parents -b