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
hg init
touch unknown
touch a
hg add a
hg ci -m "1" -d "1000000 0"
touch b
hg add b
hg ci -m "2" -d "1000000 0"
echo %% Should show unknown
hg status
hg revert -r 0 --all
echo %% Should show unknown and b removed
hg status
echo %% Should show a and unknown
ls