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 % bundle w/o type option
hg init t1
hg init t2
cd t1
echo blablablablabla > file.txt
hg ci -Ama
hg log | grep summary
hg bundle ../b1 ../t2
cd ../t2
hg pull ../b1
hg up
hg log | grep summary
cd ..
for t in "None" "bzip2" "gzip"; do
echo % test bundle type $t
hg init t$t
cd t1
hg bundle -t $t ../b$t ../t$t
cut -b 1-6 ../b$t | head -n 1
cd ../t$t
hg pull ../b$t
hg up
hg log | grep summary
cd ..
done
echo % test garbage file
echo garbage > bgarbage
hg init tgarbage
cd tgarbage
hg pull ../bgarbage
cd ..
echo % test invalid bundle type
cd t1
hg bundle -a -t garbage ../bgarbage
cd ..