view tests/test-excessive-merge @ 7654:816b708f23af

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.
author John Mulligan <phlogistonjohn@asynchrono.us>
date Wed, 14 Jan 2009 21:47:38 -0500
parents c0b449154a90
children
line wrap: on
line source

#!/bin/sh

hg init

echo foo > a
echo foo > b
hg add a b

hg ci -m "test" -d "1000000 0"

echo blah > a

hg ci -m "branch a" -d "1000000 0"

hg co 0

echo blah > b

hg ci -m "branch b" -d "1000000 0"
HGMERGE=true hg merge 1

hg ci -m "merge b/a -> blah" -d "1000000 0"

hg co 1
HGMERGE=true hg merge 2
hg ci -m "merge a/b -> blah" -d "1000000 0"

hg log
hg debugindex .hg/store/00changelog.i

echo

echo 1
hg manifest --debug 1
echo 2
hg manifest --debug 2
echo 3
hg manifest --debug 3
echo 4
hg manifest --debug 4

echo

hg debugindex .hg/store/data/a.i

hg verify