view tests/test-issue322 @ 5228:8050f13772f6

Fix theoretical issue in filecommit. If the file was copied, we don't want to reuse the original entry. I think this is mostly a theoretical issue - when there are copies, fp1 == nullid, so it's very unlikely that the fl.cmp(fp1, t) would think the file was unmodified. In any case, if there was a copy, we should forcefully create a new entry.
author Alexis S. L. Carvalho <alexis@cecm.usp.br>
date Mon, 27 Aug 2007 14:21:04 -0300
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