view tests/test-mq-eol @ 10564:6ded6243bde2 stable

alias: fixes exception when displaying translated help text __doc__ of aliased command shouldn't cointain non-ASCII characters, because it'll be gettext-ed later by commands.help_(). Here gettext can raise UnicodeDecodeError. Once concatenated two translatable strings into one, it become untranslatable. So this patch moves 'alias for:' from dispatch.cmdalias to commands.help_, where help texts are translated. 'alias for:' was introduced by 6e8a16dd3e30.
author Yuya Nishihara <yuya@tcha.org>
date Mon, 01 Mar 2010 23:27:44 +0900
parents 9c2c94934f0d
children
line wrap: on
line source

#!/bin/sh

# Test interactions between mq and patch.eol

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH
echo "[diff]" >> $HGRCPATH
echo "nodates=1" >> $HGRCPATH

cat > makepatch.py <<EOF
f = file('eol.diff', 'wb')
w = f.write
w('test message\n')
w('diff --git a/a b/a\n')
w('--- a/a\n')
w('+++ b/a\n')
w('@@ -1,5 +1,5 @@\n')
w(' a\n')
w('-b\r\n')
w('+y\r\n')
w(' c\r\n')
w(' d\n')
w('-e\n')
w('\ No newline at end of file\n')
w('+z\r\n')
w('\ No newline at end of file\r\n')
EOF

cat > cateol.py <<EOF
import sys
for line in file(sys.argv[1], 'rb'):
    line = line.replace('\r', '<CR>')
    line = line.replace('\n', '<LF>')
    print line
EOF

hg init repo
cd repo
echo '\.diff' > .hgignore
echo '\.rej' >> .hgignore

# Test different --eol values
python -c 'file("a", "wb").write("a\nb\nc\nd\ne")'
hg ci -Am adda
python ../makepatch.py
hg qimport eol.diff
echo % should fail in strict mode
hg qpush
hg qpop
echo % invalid eol
hg --config patch.eol='LFCR' qpush
hg qpop
echo % force LF
hg --config patch.eol='CRLF' qpush
hg qrefresh
python ../cateol.py .hg/patches/eol.diff
python ../cateol.py a
hg qpop
echo % push again forcing LF and compare revisions
hg --config patch.eol='CRLF' qpush
python ../cateol.py a
hg qpop
echo % push again without LF and compare revisions
hg qpush
python ../cateol.py a
hg qpop