view tests/test-merge-symlinks @ 11059:ef4aa90b1e58

Move 'findrenames' code into its own file. The next few patches will increase the size of the "findrenames" functionality. This patch simply moves the function into its own file to avoid clutter building up in 'cmdutil.py'.
author David Greenaway <hg-dev@davidgreenaway.com>
date Sat, 03 Apr 2010 11:58:16 +1100
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