view tests/test-encoding @ 12311:8afbf44cfe86

win32: update build instructions with correct CRT version As stated in http://msdn.microsoft.com/en-us/library/cc664727.aspx, when you compile an application with MSVC 2008 SP1 it is bound by default to the original CRT version (9.0.21022.8). This is the case for Python 2.6 up to 3.1. If the wrong CRT version is embedded in the Inno Setup installer, with a PC that does not have the MSVC 2008 redistributable package installed, hg will refuse to launch with an error: "the system cannot execute the specified program".
author Pascal Quantin <pascal.quantin@gmail.com>
date Thu, 16 Sep 2010 11:36:38 +0200
parents 4c94b6d0fb1c
children
line wrap: on
line source

#!/bin/sh

hg init t
cd t

# we need a repo with some legacy latin-1 changesets
hg unbundle $TESTDIR/legacy-encoding.hg
hg co

python << EOF
f = file('latin-1', 'w'); f.write("latin-1 e' encoded: \xe9"); f.close()
f = file('utf-8', 'w'); f.write("utf-8 e' encoded: \xc3\xa9"); f.close()
f = file('latin-1-tag', 'w'); f.write("\xe9"); f.close()
EOF

echo % should fail with encoding error
echo "plain old ascii" > a
hg st
HGENCODING=ascii hg ci -l latin-1

echo % these should work
echo "latin-1" > a
HGENCODING=latin-1 hg ci -l latin-1
echo "utf-8" > a
HGENCODING=utf-8 hg ci -l utf-8

HGENCODING=latin-1 hg tag `cat latin-1-tag`
HGENCODING=latin-1 hg branch `cat latin-1-tag`
HGENCODING=latin-1 hg ci -m 'latin1 branch'
rm .hg/branch

echo "% hg log (ascii)"
hg --encoding ascii log
echo "% hg log (latin-1)"
hg --encoding latin-1 log
echo "% hg log (utf-8)"
hg --encoding utf-8 log
echo "% hg tags (ascii)"
HGENCODING=ascii hg tags
echo "% hg tags (latin-1)"
HGENCODING=latin-1 hg tags
echo "% hg tags (utf-8)"
HGENCODING=utf-8 hg tags
echo "% hg branches (ascii)"
HGENCODING=ascii hg branches
echo "% hg branches (latin-1)"
HGENCODING=latin-1 hg branches
echo "% hg branches (utf-8)"
HGENCODING=utf-8 hg branches

echo '[ui]' >> .hg/hgrc
echo 'fallbackencoding = koi8-r' >> .hg/hgrc
echo "% hg log (utf-8)"
HGENCODING=utf-8 hg log

echo "% hg log (dolphin)"
HGENCODING=dolphin hg log

HGENCODING=ascii hg branch `cat latin-1-tag`
cp latin-1-tag .hg/branch
HGENCODING=latin-1 hg ci -m 'should fail'
exit 0