tests/test-flags
author Bryan O'Sullivan <bos@serpentine.com>
Tue, 24 Apr 2007 10:53:25 -0700
changeset 4369 d7ad1e42a368
parent 3853 c0b449154a90
child 4530 0ac7fee4f024
permissions -rwxr-xr-x
util._matcher: speed up regexp matching. In 4babaa52badf, Benoit made a change that substantially slows matching when a big .hgignore file is in play, because it calls into the regexp matching engine potentially hundreds of times per file to be matched. I've partly rolled back his change, so that we only call into the matcher once per file, but preserved the ability to report a meaningful error message if there's a syntax error in the regexp.

#!/bin/sh -e

umask 027
mkdir test1
cd test1

hg init
touch a b
hg add a b
hg ci -m "added a b" -d "1000000 0"

cd ..
hg clone test1 test3
mkdir test2
cd test2

hg init
hg pull ../test1
hg co
chmod +x a
hg ci -m "chmod +x a" -d "1000000 0"

cd ../test1
echo 123 >>a
hg ci -m "a updated" -d "1000000 0"

hg pull ../test2
hg heads
hg history

hg -v merge

cd ../test3
echo 123 >>b
hg ci -m "b updated" -d "1000000 0"

hg pull ../test2
hg heads
hg history

hg -v merge

ls -l ../test[123]/a > foo
cut -b 1-10 < foo

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