tests/test-merge-types
author Matt Mackall <mpm@selenic.com>
Thu, 05 Aug 2010 16:17:17 -0500
branchstable
changeset 11754 6ccd130eab0e
parent 5710 026eb80060d8
permissions -rwxr-xr-x
revlog: drop cache after use to save memory footprint If we reconstruct back to back large versions, we need to drop the cache first to avoid doubling memory usage.
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