view tests/test-issue322 @ 5534:61c230f81068

mq: avoid qnew committing everything on invalid paths (issue 803) If paths are supplied but resolve to nothing, localrepo.commit() is called with an empty set and commits the whole dirstate. Avoid this by passing the match function to commit.
author Patrick Mezard <pmezard@gmail.com>
date Tue, 20 Nov 2007 14:31:58 +0100
parents 7a7d4937272b
children 1de6e7e1bb9f
line wrap: on
line source

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