tests/test-no-symlinks
author Maxim Dounin <mdounin@mdounin.ru>
Sat, 27 Oct 2007 16:27:55 +0400
changeset 5483 0c43f87baba3
parent 5143 fc6106267198
permissions -rwxr-xr-x
Fix file-changed-to-dir and dir-to-file commits (issue660). Allow adding to dirstate files that clash with previously existing but marked for removal. Protect from reintroducing clashes by revert. This change doesn't address related issues with update. Current workaround is to do "clean" update by manually removing conflicting files/dirs from working directory.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5126
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     1
#!/bin/sh
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     2
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     3
"$TESTDIR/hghave" no-symlink || exit 80
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     4
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
# The following script was used to create the bundle:
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
#
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
# hg init symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
# cd symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
# echo a > a
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
# mkdir d
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
# echo b > d/b
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
# ln -s a a.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    13
# ln -s d/b d/b.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    14
# hg ci -Am t
5134
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5126
diff changeset
    15
# hg bundle --base null ../test-no-symlinks.hg
5126
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    17
# Extract a symlink on a platform not supporting them
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    18
echo % unbundle
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    19
hg init t
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    20
cd t
5143
fc6106267198 Hide absolute path from test-no-symlinks output.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5134
diff changeset
    21
hg pull -q "$TESTDIR/test-no-symlinks.hg"
5126
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    22
hg update
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    23
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    24
cat a.lnk && echo
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    25
cat d/b.lnk && echo
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    26
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    27
# Copy a symlink and move another
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    28
echo % move and copy
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    29
hg copy a.lnk d/a2.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    30
hg mv d/b.lnk b2.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    31
hg ci -Am copy
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    32
cat d/a2.lnk && echo
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    33
cat b2.lnk && echo
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    34
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    35
# Bundle and extract again
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
echo % bundle
5134
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5126
diff changeset
    37
hg bundle --base null ../symlinks.hg
5126
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
cd ..
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    39
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    40
hg init t2
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    41
cd t2
5134
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5126
diff changeset
    42
hg pull ../symlinks.hg
5126
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    43
hg update
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    44
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    45
cat a.lnk && echo
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    46
cat d/a2.lnk && echo
5143
fc6106267198 Hide absolute path from test-no-symlinks output.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5134
diff changeset
    47
cat b2.lnk && echo