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
# Test chains of near empty directories, terminating 3 different ways:
# - a1: file at level 4 (deepest)
# - b1: two dirs at level 3
# - e1: file at level 2
echo % Set up the repo
hg init test
cd test
mkdir -p a1/a2/a3/a4
mkdir -p b1/b2/b3/b4
mkdir -p b1/b2/c3/c4
mkdir -p d1/d2/d3/d4
echo foo > a1/a2/a3/a4/foo
echo foo > b1/b2/b3/b4/foo
echo foo > b1/b2/c3/c4/foo
echo foo > d1/d2/d3/d4/foo
echo foo > d1/d2/foo
hg ci -Ama
hg serve -n test -p $HGPORT -d --pid-file=hg.pid -E errors.log
cat hg.pid >> $DAEMON_PIDS
echo % manifest with descending
"$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT '/file'
echo % ERRORS ENCOUNTERED
cat errors.log