tests/test-merge10
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Wed, 26 Sep 2007 01:58:45 -0300
changeset 5338 f87685355c9c
parent 4696 59b8f9361545
permissions -rwxr-xr-x
revlog: fix revlogio.packentry corner case We want to store version information about the revlog in the first entry of its index. The code in packentry was using some heuristics to detect whether this was the first entry, but these heuristics could fail in some cases (e.g. rev 0 was empty; rev 1 descends directly from the nullid and is stored as a delta). We now give the revision number to packentry to avoid heuristics.

#!/bin/sh

# Test for changeset 9fe267f77f56ff127cf7e65dc15dd9de71ce8ceb
# (merge correctly when all the files in a directory are moved
# but then local changes are added in the same directory)

hg init a
cd a
mkdir -p testdir
echo a > testdir/a
hg add testdir/a
hg commit -u test -d '1000000 0' -m a
cd ..

hg clone a b
cd a
echo alpha > testdir/a
hg commit -u test -d '1000000 0' -m remote-change
cd ..

cd b
mkdir testdir/subdir
hg mv testdir/a testdir/subdir/a
hg commit -u test -d '1000000 0' -m move
mkdir newdir
echo beta > newdir/beta
hg add newdir/beta
hg commit -u test -d '1000000 0' -m local-addition
hg pull ../a
hg up -C 2
hg merge
hg stat
hg diff --nodates