view tests/test-merge-symlinks @ 6077:fb259a3572e9

convert: try to be smarter about CVS branching Better handles this case: The output from cvsps -A -u --cvs-direct -q: --------------------- PatchSet 1 Date: 2008/02/08 20:33:28 Author: fk Branch: HEAD Tag: (none) Log: initial Members: file_one:INITIAL->1.1 --------------------- PatchSet 2 Date: 2008/02/08 20:33:32 Author: fk Branch: branch_name Ancestor branch: HEAD Tag: (none) Log: new file on branch Members: file_two:1.1->1.1.2.1
author Matt Mackall <mpm@selenic.com>
date Mon, 11 Feb 2008 16:16:05 -0600
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