tests/test-mq-symlinks
author Bryan O'Sullivan <bos@serpentine.com>
Fri, 02 Nov 2007 14:02:28 -0700
changeset 5503 6f26c7677463
parent 5157 f6c520fd70cf
child 5683 396c7010b0cd
permissions -rwxr-xr-x
Test a merge of a symlink against an executable file. This should result in a conflict, but the symlink always wins.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5157
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
#!/bin/sh
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
echo "[extensions]" >> $HGRCPATH
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
echo "mq=" >> $HGRCPATH
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     6
cat >> readlink.py <<EOF
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     7
import errno, os, sys
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     8
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
for f in sys.argv[1:]:
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    10
    try:
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    11
        print f, '->', os.readlink(f)
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
    except OSError, err:
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    13
        if err.errno != errno.EINVAL: raise
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
        print f, 'not a symlink'
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
EOF
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    16
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
hg init
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
hg qinit
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
hg qnew base.patch
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
echo a > a
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
echo b > b
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
hg add a b
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    23
hg qrefresh
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
python readlink.py a
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
hg qnew symlink.patch
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
rm a
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    28
ln -s b a
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    29
hg qrefresh --git
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    30
python readlink.py a
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    31
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    32
hg qpop
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    33
hg qpush
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    34
python readlink.py a