tests/test-merge7
author mason@suse.com
Wed, 10 May 2006 15:26:56 -0700
changeset 2255 3f38e872f39a
parent 1933 7544700fd931
child 2283 e506c14382fd
permissions -rwxr-xr-x
Reduce ram used for very large inlined index files During a clone, an inline index is not converted to a split index file until the very end. When the conversion happens, the index can be very large, and the inline index loading functions always load the entire index file into ram. This changes the revlog code to read the index in smaller chunks.

#!/bin/sh

# initial
hg init test-a
cd test-a
cat >test.txt <<"EOF"
1
2
3
EOF
hg add test.txt
hg commit -m "Initial" -d "1000000 0"

# clone
cd ..
hg clone test-a test-b

# change test-a
cd test-a
cat >test.txt <<"EOF"
one
two
three
EOF
hg commit -m "Numbers as words" -d "1000000 0"

# change test-b
cd ../test-b
cat >test.txt <<"EOF"
1
2.5
3
EOF
hg commit -m "2 -> 2.5" -d "1000000 0"

# now pull and merge from test-a
hg pull ../test-a
HGMERGE=merge hg update -m
# resolve conflict
cat >test.txt <<"EOF"
one
two-point-five
three
EOF
rm -f *.orig
hg commit -m "Merge 1" -d "1000000 0"

# change test-a again
cd ../test-a
cat >test.txt <<"EOF"
one
two-point-one
three
EOF
hg commit -m "two -> two-point-one" -d "1000000 0"

# pull and merge from test-a again
cd ../test-b
hg pull ../test-a
HGMERGE=merge hg update --debug -m

cat test.txt | sed "s% .*%%"

hg debugindex .hg/data/test.txt.i

hg log