tests/test-no-symlinks
author Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Tue, 21 Oct 2008 17:00:35 +0200
changeset 7233 9f0e52e1df77
parent 5091 fc6106267198
permissions -rwxr-xr-x
fix pull racing with push/commit (issue1320) changegroup() has a problem when nodes which does not descend from a node in <bases> are added to remote after the discovery phase. If that happens, changegroup() won't send the correct set of nodes, ie. some nodes will be missing. To correct it we have to find the set of nodes that both remote and self have (called <common>), and send all the nodes not in <common>. This fix has some overhead, in the worst case it will re-send a whole branch. A proper fix to avoid this overhead might be to change the protocol so that the <common> nodes are sent (instead of the <bases> of the missing nodes).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5085
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
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
    15
# hg bundle --base null ../test-no-symlinks.hg
5085
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
5091
fc6106267198 Hide absolute path from test-no-symlinks output.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5089
diff changeset
    21
hg pull -q "$TESTDIR/test-no-symlinks.hg"
5085
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
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
    37
hg bundle --base null ../symlinks.hg
5085
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
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
    42
hg pull ../symlinks.hg
5085
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
5091
fc6106267198 Hide absolute path from test-no-symlinks output.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5089
diff changeset
    47
cat b2.lnk && echo