Test workingctx exec/link bit for copies.
Also, make the test runnable on platforms without symlinks.
--- a/tests/test-merge-symlinks Sun Oct 07 15:07:35 2007 +0200
+++ b/tests/test-merge-symlinks Sun Oct 07 15:13:50 2007 +0200
@@ -1,28 +1,39 @@
#!/bin/sh
-"$TESTDIR/hghave" symlink || exit 80
-
cat > echo.py <<EOF
#!/usr/bin/env python
import os
-for k in ('HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
+for k in ('HG_FILE', 'HG_MY_ISLINK', 'HG_OTHER_ISLINK', 'HG_BASE_ISLINK'):
print k, os.environ[k]
EOF
-chmod +x echo.py
# Create 2 heads containing the same file, once as
-# a file, once as a link.
-echo % create heads
+# 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
-echo a > a
-hg ci -qAm t0
-echo l > l
-hg ci -qAm t1
-hg up -C 0
-ln -s a l
-hg ci -qAm t2
+hg -q pull "$TESTDIR/test-merge-symlinks.hg"
+hg up -C 3
# Merge them and display *_ISLINK vars
echo % merge heads
-HGMERGE=../echo.py hg merge
+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
Binary file tests/test-merge-symlinks.hg has changed
--- a/tests/test-merge-symlinks.out Sun Oct 07 15:07:35 2007 +0200
+++ b/tests/test-merge-symlinks.out Sun Oct 07 15:13:50 2007 +0200
@@ -1,9 +1,17 @@
-% create heads
-0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+3 files updated, 0 files merged, 0 files removed, 0 files unresolved
% merge heads
+HG_FILE l
HG_MY_ISLINK 1
HG_OTHER_ISLINK 0
HG_BASE_ISLINK 0
merging l
0 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
+% merge working directory
+1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+HG_FILE l2
+HG_MY_ISLINK 1
+HG_OTHER_ISLINK 0
+HG_BASE_ISLINK 0
+merging l2
+0 files updated, 1 files merged, 0 files removed, 0 files unresolved