tests/test-merge10
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
Sat, 01 Sep 2007 02:49:18 -0300
changeset 5279 2dbd750b3ddd
parent 4696 59b8f9361545
child 8168 8766fee6f225
permissions -rwxr-xr-x
convert: clear the dirstate before a conversion, invalidate it afterwards Clearing it before the conversion protects us from whatever data were there (file copies in particular). Invalidating it after the conversion avoids writing a possibly inconsistent dirstate to disk.

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