tests/test-no-symlinks.t
author Mads Kiilerich <madski@unity3d.com>
Tue, 26 Aug 2014 22:03:32 +0200
changeset 22296 650b5b6e75ed
parent 22046 7a9cbb315d84
child 34814 2d49d2eb1ff2
permissions -rw-r--r--
convert: use None value for missing files instead of overloading IOError The internal API used IOError to indicate that a file should be marked as removed. There is some correlation between IOError (especially with ENOENT) and files that should be removed, but using IOErrors to represent file removal internally required some hacks. Instead, use the value None to indicate that the file not is present. Before, spurious IO errors could cause commits that silently removed files. They will now be reported like all other IO errors so the root cause can be fixed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 14116
diff changeset
     1
#require no-symlink
5085
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
# 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
     4
#
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     5
# hg init symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     6
# cd symlinks
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     7
# echo a > a
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     8
# mkdir d
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
     9
# echo b > d/b
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    10
# ln -s a a.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    11
# ln -s d/b d/b.lnk
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    12
# hg ci -Am t
5089
9b5ae133bd5a test-no-symlinks: rename .bundle into .hg for consistency.
Patrick Mezard <pmezard@gmail.com>
parents: 5085
diff changeset
    13
# 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
    14
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    15
Extract a symlink on a platform not supporting them
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    16
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    17
  $ hg init t
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    18
  $ cd t
14116
cd3032437064 tests: move test bundles in a bundles/ subdirectory
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 12917
diff changeset
    19
  $ hg pull -q "$TESTDIR/bundles/test-no-symlinks.hg"
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    20
  $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    21
  4 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    22
  $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    23
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    24
  $ cat d/b.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    25
  d/b
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    26
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    27
Copy a symlink and move another
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    28
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    29
  $ hg copy a.lnk d/a2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    30
  $ hg mv d/b.lnk b2.lnk
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    31
  $ hg ci -Am copy
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    32
  $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    33
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    34
  $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    35
  d/b
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    36
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    37
Bundle and extract again
5085
dcfd75502b82 Test symlink handling on platform not supporting them
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
    38
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    39
  $ hg bundle --base null ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    40
  2 changesets found
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    41
  $ cd ..
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    42
  $ hg init t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    43
  $ cd t2
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    44
  $ hg pull ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    45
  pulling from ../symlinks.hg
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    46
  requesting all changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    47
  adding changesets
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    48
  adding manifests
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    49
  adding file changes
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    50
  added 2 changesets with 6 changes to 6 files
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    51
  (run 'hg update' to get a working copy)
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    52
  $ hg update
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    53
  5 files updated, 0 files merged, 0 files removed, 0 files unresolved
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    54
  $ cat a.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    55
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    56
  $ cat d/a2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    57
  a
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    58
  $ cat b2.lnk && echo
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
    59
  d/b