view tests/test-subrepo-relative-path @ 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 a2bc2f2d77a9
children
line wrap: on
line source

#!/bin/sh

echo % Preparing the subrepository 'sub'
hg init sub
echo sub > sub/sub
hg add -R sub
hg commit -R sub -m "sub import"

echo % Preparing the 'main' repo which depends on the subrepo 'sub'
hg init main
echo main > main/main
echo "sub = ../sub" > main/.hgsub
hg clone sub main/sub | sed 's/ .*sub/ ...sub/g'
hg add -R main
hg commit -R main -m "main import"

echo % Cleaning both repositories, just as a clone -U
hg up -C -R sub null
hg up -C -R main null
rm -rf main/sub

echo % Serving them both using hgweb
printf '[paths]\n/main = main\nsub = sub\n' > webdir.conf
hg serve --webdir-conf webdir.conf -a localhost -p $HGPORT \
   -A /dev/null -E /dev/null --pid-file hg.pid -d
cat hg.pid >> $DAEMON_PIDS

echo % Clone main from hgweb
hg clone "http://localhost:$HGPORT/main" cloned | sed 's/ .*sub/ ...sub/g' 

echo % Checking cloned repo ids
hg id -R cloned
hg id -R cloned/sub

echo % subrepo debug for 'main' clone
hg debugsub -R cloned

"$TESTDIR/killdaemons.py"

exit 0