tests/test-fncache
author Martin Geisler <mg@lazybytes.net>
Thu, 26 Nov 2009 20:06:45 +0100
branchstable
changeset 9941 11d7ee94b56a
parent 8721 2816239e0020
permissions -rwxr-xr-x
extdiff: prevent exception on double-translation The docstring is translated twice: once when used as a format string, and once on display. The second translation fails when the first translation introduces non-ASCII characters in the string. The problem is that the gettext module calls unicode(message) on the string, i.e., it decodes it to a Unicode string using the ASCII encoding (the default encoding). By translating it into a Unicode string here, the unicode() call becomes a noop.

#!/bin/sh

echo "% init repo1"
hg init repo1
cd repo1

echo
echo "% add a; ci"
echo "some text" > a
hg add
hg ci -m first

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% add a.i/b; ci"
mkdir a.i
echo "some other text" > a.i/b
hg add
hg ci -m second

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% add a.i.hg/c; ci"
mkdir a.i.hg
echo "yet another text" > a.i.hg/c
hg add
hg ci -m third

echo
echo "% cat .hg/store/fncache"
cat .hg/store/fncache

echo
echo "% hg verify"
hg verify

echo
echo "% rm .hg/store/fncache"
rm .hg/store/fncache

echo
echo "% hg verify"
hg verify

# try non store repo encoding
cd ..
echo % non store repo
hg --config format.usestore=False init foo
cd foo
mkdir tst.d
echo foo > tst.d/foo
hg ci -Amfoo
find .hg | sort

cd ..
echo % non fncache repo
hg --config format.usefncache=False init bar
cd bar
mkdir tst.d
echo foo > tst.d/Foo
hg ci -Amfoo
find .hg | sort

exit 0