store all heads of a branch in the branch cache
All heads of branches will be stored in a new cache file 'branchheads.cache'
within the .hg directory. The old 'branch.cache' file from older versions
will be ignored.
The new cache contents are formatted line-by-line as '{node} {branchtag}\n'.
This is the same as the previous format. Now, every head is recorded in
an oldest -> tipmost order.
The localrepo.branchheads function is reworked to use the data from the cache.
#!/bin/sh
hg init a
cd a
hg diff not found
echo bar > foo
hg add foo
hg ci -m 'add foo' -d '1000000 0'
echo foobar > foo
hg ci -m 'change foo' -d '1000001 0'
echo 'quiet:'
hg --quiet diff -r 0 -r 1
echo
echo 'normal:'
hg diff -r 0 -r 1
echo
echo 'verbose:'
hg --verbose diff -r 0 -r 1
echo
echo 'debug:'
hg --debug diff -r 0 -r 1
echo