tests/test-casefolding
author Augie Fackler <durin42@gmail.com>
Thu, 11 Feb 2010 16:37:43 -0600
changeset 10418 5fc090ba08a6
parent 9396 5cd14e1e8385
permissions -rwxr-xr-x
localrepo: add optional validation (defaults to off) for incoming changes This verifies that all manifests are present for incoming changes, and all files for those manifests are also present. This is a simple first-pass, and could be better, but seems like a valuable thing to have, as I've seen pushes in the past that propagated revlog corruption.

#!/bin/sh

"$TESTDIR/hghave" icasefs || exit 80

echo '% test file addition with bad case'
hg init repo1
cd repo1
echo a > a
hg add A
hg st
hg ci -m adda
hg manifest
cd ..

echo '% test case collision on rename (issue 750)'
hg init repo2
cd repo2
echo a > a
hg --debug ci -Am adda
hg mv a A
# 'a' used to be removed under windows
test -f a || echo 'a is missing'
hg st
cd ..

echo '% test case collision between revisions (issue 912)'
hg init repo3
cd repo3
echo a > a
hg ci -Am adda
hg rm a
hg ci -Am removea
echo A > A
# on linux hfs keeps the old case stored, force it
mv a aa
mv aa A
hg ci -Am addA
# Used to fail under case insensitive fs
hg up -C 0
hg up -C
cd ..