changeset 5408:36794dbe66a3

Test workingctx exec/link bit for copies. Also, make the test runnable on platforms without symlinks.
author Patrick Mezard <pmezard@gmail.com>
date Sun, 07 Oct 2007 15:13:50 +0200
parents d7e7902bb190
children 190c234c8fa0
files tests/test-merge-symlinks tests/test-merge-symlinks.hg tests/test-merge-symlinks.out
diffstat 3 files changed, 35 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-merge-symlinks
+++ b/tests/test-merge-symlinks
@@ -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
new file mode 100644
index 0000000000000000000000000000000000000000..2e1bb7d225313820de72a2affc686505d4df276e
GIT binary patch
literal 947
zc$@*V15Er#M=>x$T4*^jL0KkKS#G~@RR91k|NsA)<G)_Lf9G0H-~WIA|NcAu!KYom
z_OI92<N2;L`(nTXyQ#rPGJ{f(X`l@N14f!XAOL6$05kvq4FC-Q02%-Q84Q2{kZ3YJ
zA)yq+#)4uL)XhLN4FChsAOHXW4FEI-fB?_{0j59z00004ArUmu>Hq)$X`lcDLqGrk
z00000003wJ0000003@V|Jwc{wGHjYmk5C4UG<s<o4G&XI0kr^V0QDLfJxvV&(@#Wb
z#M5d3GBG_9OqhdB9-0YK1be-q$&Xez@`33~>OyxAy=~XViWCF_AxS_8K><uCCqR*O
zxwW-STXiJfUB4aE_R0J9({4nNoDG^lIALa(mW)h}0@m6F5mZ6M05NxffRR!#A-IGL
zP#3AxNJCGlU0*z@$Z|NuK<+=eUtLcM-ZCL03M9a)Gm%A2TSo{ctL#zd-ix{!=abp@
zwQvPi^7#&wW*A~+yzTuvNx5DO>Lw@9T2Hx0r5FVTWSzGkQNScrt`{wF@9?S$o&9(o
z#8-$ZR_!3zsRqIoFOlrMyyp5-ypd%ko<fcJ<ZPf=a9py_JmND-o2$~5=a{()f=Kw-
z=3`+7O5({f(@`tL+R?){3S&UcfD#CrWDyUeTvjw;F_w7GJcAVJL&~ERusA8~Vx~g{
zhC*PWT#YiA;xMV8p*+kX0K^ow2<rd~BSXlS9$95j%B!8A1)a9N*#HYzf}jGwmG!cU
z!o$Z?6Pn|Sph%LRVl`ok($ukV(fd97D8jr^LY{xPD~fK#M5H-rbT}}psxB0@b(E<e
z1!@*u*p&*_NLtF+NZ>%Y>N;rFMg(e=p$69;cUQa==*YJlr<dtOHk8g9Eh%6|Pzgav
zOei5nP-j3tQ3UO`I8tcnBAo1j(J|m<2y^Z<z`58#TBC8XCV)W&=VoFKU7w2d@NBn}
zrw{6yKLYf5xXIHgk|$g22!P(!pa`7BRj>_i1Y{@;@T-|%2Y`xRFq;f3gcecc;Q>N|
z24hAQq2(=T9N;P{rAlwYCt2D9j5W#{!$Us-j1{86h>M-|4C*qF@B#In(dVnO5gv>0
zE?EqAV`2spC6)WVK(J;JTrc92<kBqwVlVP*P5L`Qq7+c)qiGqaK7k7gR}p~&svi>t
zoCB~4Vfy$2NpLL7(;ds0BLyN0-p3Q5_Q0|6gP1l@LmothC@Zj#5zB-^So@rZ!s)4}
V86R%++AV`5UC9*TLP5Iy!Bk3}m^}ah
--- a/tests/test-merge-symlinks.out
+++ b/tests/test-merge-symlinks.out
@@ -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