view tests/test-no-symlinks @ 12252:4481f8a93c7a stable

convert/darcs: handle non-ASCII metadata in darcs changelog (issue2354) Given a commit author or message with non-ASCII characters in a darcs repo, convert would raise a UnicodeEncodeError when adding changesets to the hg changelog. This happened because etree returns back unicode objects for any text it can't encode into ASCII. convert was passing these objects to changelog.add(), which would then attempt encoding.fromlocal() on them. This patch ensures converter_source.recode() is called on each piece of commit data returned by etree. (Also note that darcs is currently encoding agnostic and will print out whatever is in a patch's metadata byte-for-byte, even in the XML changelog.)
author Brodie Rao <brodie@bitheap.org>
date Fri, 10 Sep 2010 09:30:50 -0500
parents fc6106267198
children
line wrap: on
line source

#!/bin/sh

"$TESTDIR/hghave" no-symlink || exit 80

# The following script was used to create the bundle:
#
# hg init symlinks
# cd symlinks
# echo a > a
# mkdir d
# echo b > d/b
# ln -s a a.lnk
# ln -s d/b d/b.lnk
# hg ci -Am t
# hg bundle --base null ../test-no-symlinks.hg

# Extract a symlink on a platform not supporting them
echo % unbundle
hg init t
cd t
hg pull -q "$TESTDIR/test-no-symlinks.hg"
hg update

cat a.lnk && echo
cat d/b.lnk && echo

# Copy a symlink and move another
echo % move and copy
hg copy a.lnk d/a2.lnk
hg mv d/b.lnk b2.lnk
hg ci -Am copy
cat d/a2.lnk && echo
cat b2.lnk && echo

# Bundle and extract again
echo % bundle
hg bundle --base null ../symlinks.hg
cd ..

hg init t2
cd t2
hg pull ../symlinks.hg
hg update

cat a.lnk && echo
cat d/a2.lnk && echo
cat b2.lnk && echo