tests/test-merge-types
author Matt Mackall <mpm@selenic.com>
Sat, 23 May 2009 12:31:28 -0500
changeset 8560 107af208ed0b
parent 5710 026eb80060d8
permissions -rwxr-xr-x
Merge with crew-stable
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
#!/bin/sh
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
hg init
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
echo a > a
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
     5
hg ci -Amadd       # 0
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     6
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     7
chmod +x a
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
     8
hg ci -mexecutable # 1
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    10
hg up 0
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    11
rm a
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
ln -s symlink a
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
    13
hg ci -msymlink    # 2
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
    14
hg merge --debug
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
    16
echo % symlink is local parent, executable is other
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
5682
048889f8c7d1 Use test -h instead of test -L for portability
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5503
diff changeset
    18
if [ -h a ]; then
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
    echo a is a symlink
5683
396c7010b0cd Use common readlink.py instead of own implementations per test script.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5682
diff changeset
    20
    $TESTDIR/readlink.py a
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
elif [ -x a ]; then
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
    echo a is executable
5710
026eb80060d8 update test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5701
diff changeset
    23
else
026eb80060d8 update test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5701
diff changeset
    24
    echo "a has no flags (default for conflicts)"
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
fi
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
hg update -C 1
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
    28
hg merge --debug
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    29
5701
32c2832682a9 add --debug to test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5685
diff changeset
    30
echo % symlink is other parent, executable is local
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    31
5682
048889f8c7d1 Use test -h instead of test -L for portability
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5503
diff changeset
    32
if [ -h a ]; then
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    33
    echo a is a symlink
5683
396c7010b0cd Use common readlink.py instead of own implementations per test script.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5682
diff changeset
    34
    $TESTDIR/readlink.py a
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    35
elif [ -x a ]; then
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    36
    echo a is executable
5710
026eb80060d8 update test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5701
diff changeset
    37
else
026eb80060d8 update test-merge-types
Matt Mackall <mpm@selenic.com>
parents: 5701
diff changeset
    38
    echo "a has no flags (default for conflicts)"
5503
6f26c7677463 Test a merge of a symlink against an executable file.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    39
fi