view tests/test-convert-tla @ 11765:aff419e260f9 stable

templatefilters: make json filter handle multibyte characters correctly It aims to fix javascript error of hgweb's graph view in Japanese 'cp932' encoding. 'cp932' contains multibyte characters ending with '\x5c' (backslash), e.g. '\x94\x5c' for Japanese Kanji 'Noh'. Due to json filter escapes '\' to '\\', multibyte string ending with '\x5c' is translated to "xxx\", resulting javascript parse error on a web browser. This patch changes json() to pass unicode to jsonescape(). Unicode decoding error handler changed to 'replace' by Patrick Mézard.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 07 Aug 2010 16:27:16 +0900
parents bb5ea66789e3
children
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" tla || exit 80

mkdir do_not_use_HOME_tla
cd do_not_use_HOME_tla
HOME=`pwd`; export HOME
cd ..
tla my-id "mercurial <mercurial@selenic.com>"

echo "[extensions]" >> $HGRCPATH
echo "convert=" >> $HGRCPATH
echo 'graphlog =' >> $HGRCPATH

echo % create tla archive
tla make-archive tla@mercurial--convert `pwd`/hg-test-convert-tla

echo % initialize tla repo
mkdir tla-repo
cd tla-repo/
tla init-tree tla@mercurial--convert/tla--test--0
tla import

echo % create initial files
echo 'this is a file' > a
tla add a
mkdir src
tla add src
cd src
dd count=1 if=/dev/zero of=b > /dev/null 2> /dev/null
tla add b
tla commit -s "added a file, src and src/b (binary)"

echo % create link file and modify a
ln -s ../a a-link
tla add a-link
echo 'this a modification to a' >> ../a
tla commit -s "added link to a and modify a"

echo % create second link and modify b
ln -s ../a a-link-2
tla add a-link-2
dd count=1 seek=1 if=/dev/zero of=b > /dev/null 2> /dev/null
tla commit -s "added second link and modify b"

echo % b file to link and a-link-2 to regular file
rm -f a-link-2
echo 'this is now a regular file' > a-link-2
ln -sf ../a b
tla commit -s "file to link and link to file test"

echo % move a-link-2 file and src directory
cd ..
tla mv src/a-link-2 c
tla mv src test
tla commit -s "move and rename a-link-2 file and src directory"

cd ..

echo % converting tla repo to Mercurial
hg convert tla-repo tla-repo-hg

tla register-archive -d tla@mercurial--convert

glog()
{
    hg glog --template '{rev} "{desc|firstline}" files: {files}\n' "$@"
}

echo % show graph log
glog -R tla-repo-hg
hg up -q -R tla-repo-hg
hg -R tla-repo-hg manifest --debug