tests/test-issue322
author Paul Moore <p.f.moore@gmail.com>
Fri, 06 Jun 2008 19:23:29 +0100
changeset 6677 9865e15febd0
parent 4659 7a7d4937272b
child 8936 1de6e7e1bb9f
permissions -rwxr-xr-x
Add a normalize() method to dirstate This method returns the normalised form of a path. This is - the form in the dirstate, if available, or - the form on disk, if available, or - the form passed on the command line normalize() is called on the type-'f' result of statwalk. This fixes issues 910 and 1092

#!/bin/sh
# http://www.selenic.com/mercurial/bts/issue322

echo % file replaced with directory

hg init a
cd a
echo a > a
hg commit -Ama
rm a
mkdir a
echo a > a/a

echo % should fail - would corrupt dirstate
hg add a/a

cd ..

echo % directory replaced with file

hg init c
cd c
mkdir a
echo a > a/a
hg commit -Ama

rm -r a
echo a > a

echo % should fail - would corrupt dirstate
hg add a

cd ..

echo % directory replaced with file

hg init d
cd d
mkdir b
mkdir b/c
echo a > b/c/d
hg commit -Ama
rm -r b
echo a > b

echo % should fail - would corrupt dirstate
hg add b

exit 0