view tests/test-merge-symlinks @ 5516:f252ba975925

Fix dir-changed-to-file updates on clean workdir. Workaround for dir-changed-to-file updates mentioned in rev 7a64931e2d76 doesn't actually work since tests introduced in mentioned changeset prevented dirstate updates even if working directory updates succeded. Make tests more relaxed for dirstate operations not directly accessible from cli. See also issue660. While here, move _dirs existance check from _decpath() to _changepath() for unification.
author Maxim Dounin <mdounin@mdounin.ru>
date Wed, 07 Nov 2007 22:57:28 +0100
parents 36794dbe66a3
children a6477aa893b8
line wrap: on
line source

#!/bin/sh

cat > echo.py <<EOF
#!/usr/bin/env python
import os
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