tests/test-excessive-merge
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 18 Aug 2007 21:36:10 -0300
changeset 5200 c7e8fe11f34a
parent 3853 c0b449154a90
permissions -rwxr-xr-x
path_auditor: cache names of audited directories We use a separate cache to avoid problems with audit = path_auditor(repo.root) audit("subrepo") audit("subrepo/file") whitelisting "subrepo" (which is fine) and then using the same whitelist with "subrepo/file" (which is not fine). Since we create a separate path_auditor for every path on the command line, a "hg add dir/a dir/b dir/c" will still lstat dir 3 times just to audit the paths.

#!/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