view tests/test-merge-symlinks @ 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 a6477aa893b8
children
line wrap: on
line source

#!/bin/sh

cat > echo.py <<EOF
#!/usr/bin/env python
import os, sys
try:
    import msvcrt
    msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
    msvcrt.setmode(sys.stderr.fileno(), os.O_BINARY)
except ImportError:
    pass

for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
    print k, os.environ[k]
EOF

# Create 2 heads containing the same file, once as
# a file, once as a link. Bundle was generated with:
#
# hg init t
# cd t
# echo a > a
# hg ci -qAm t0 -d '0 0'
# echo l > l
# hg ci -qAm t1 -d '1 0'
# hg up -C 0
# ln -s a l
# hg ci -qAm t2 -d '2 0'
# echo l2 > l2
# hg ci -qAm t3 -d '3 0'

hg init t
cd t
hg -q pull "$TESTDIR/test-merge-symlinks.hg"
hg up -C 3

# Merge them and display *_ISLINK vars
echo % merge heads
HGMERGE="python ../echo.py" hg merge

# Test working directory symlink bit calculation wrt copies,
# especially on non-supporting systems.
echo % merge working directory
hg up -C 2
hg copy l l2
HGMERGE="python ../echo.py" hg up 3