tests/test-mq-symlinks.t
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
Wed, 01 Mar 2017 11:00:12 +0100
changeset 31217 0f31830fbfc4
parent 25472 4d2b9b304ad0
child 32267 c2380b448265
permissions -rw-r--r--
vfs: extract 'vfs' class and related code to a new 'vfs' module (API) The 'scmutil' is growing large (1500+ lines) and 2/5 of it is related to vfs. We extract the 'vfs' related code in its own module get both module back to a better scale and clearer contents. We keep all the references available in 'scmutil' for now as many reference needs to be updated.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22046
7a9cbb315d84 tests: replace exit 80 with #require
Matt Mackall <mpm@selenic.com>
parents: 18395
diff changeset
     1
#require symlink
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     2
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     3
  $ echo "[extensions]" >> $HGRCPATH
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     4
  $ echo "mq=" >> $HGRCPATH
5157
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     6
  $ hg init
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     7
  $ hg qinit
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     8
  $ hg qnew base.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
     9
  $ echo aaa > a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    10
  $ echo bbb > b
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    11
  $ echo ccc > c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    12
  $ hg add a b c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    13
  $ hg qrefresh
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
    14
  $ readlink.py a
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    15
  a -> a not a symlink
6360
95413879bac9 test-mq-symlinks: skip if symlinks are not supported
Patrick Mezard <pmezard@gmail.com>
parents: 5683
diff changeset
    16
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    17
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    18
test replacing a file with a symlink
5157
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    20
  $ hg qnew symlink.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    21
  $ rm a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    22
  $ ln -s b a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    23
  $ hg qrefresh --git
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
    24
  $ readlink.py a
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    25
  a -> b
5157
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    27
  $ hg qpop
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    28
  popping symlink.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    29
  now at: base.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    30
  $ hg qpush
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    31
  applying symlink.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    32
  now at: symlink.patch
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
    33
  $ readlink.py a
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    34
  a -> b
5157
f6c520fd70cf mq: teach qpop about symlinks
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    35
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    36
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    37
test updating a symlink
7517
49f34b43cf90 patch: handle git patches that remove symlinks (issue1438)
Brendan Cully <brendan@kublai.com>
parents: 6360
diff changeset
    38
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    39
  $ rm a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    40
  $ ln -s c a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    41
  $ hg qnew --git -f updatelink
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
    42
  $ readlink.py a
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    43
  a -> c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    44
  $ hg qpop
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    45
  popping updatelink
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    46
  now at: symlink.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    47
  $ hg qpush --debug
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    48
  applying updatelink
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    49
  patching file a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
    50
  committing files:
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    51
  a
23749
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
    52
  committing manifest
a387b0390082 localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents: 22046
diff changeset
    53
  committing changelog
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    54
  now at: updatelink
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
    55
  $ readlink.py a
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    56
  a -> c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    57
  $ hg st
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    58
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    59
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    60
test replacing a symlink with a file
9586
d08099e74b81 patch: handle symlink updates/replacements (issue1785)
Patrick Mezard <pmezard@gmail.com>
parents: 9585
diff changeset
    61
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    62
  $ ln -s c s
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    63
  $ hg add s
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    64
  $ hg qnew --git -f addlink
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    65
  $ rm s
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    66
  $ echo sss > s
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    67
  $ hg qnew --git -f replacelinkwithfile
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    68
  $ hg qpop
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    69
  popping replacelinkwithfile
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    70
  now at: addlink
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    71
  $ hg qpush
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    72
  applying replacelinkwithfile
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    73
  now at: replacelinkwithfile
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    74
  $ cat s
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    75
  sss
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    76
  $ hg st
9586
d08099e74b81 patch: handle symlink updates/replacements (issue1785)
Patrick Mezard <pmezard@gmail.com>
parents: 9585
diff changeset
    77
11908
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    78
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    79
test symlink removal
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    80
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    81
  $ hg qnew removesl.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    82
  $ hg rm a
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    83
  $ hg qrefresh --git
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    84
  $ hg qpop
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    85
  popping removesl.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    86
  now at: replacelinkwithfile
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    87
  $ hg qpush
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    88
  applying removesl.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    89
  now at: removesl.patch
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    90
  $ hg st -c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    91
  C b
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    92
  C c
7f48f0b188c6 tests: unify test-mq-symlinks
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 10397
diff changeset
    93
  C s
12345
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
    94
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
    95
replace broken symlink with another broken symlink
12340
b0bb72460c44 patch: fix target when patching broken symlinks (issue2368)
Patrick Mezard <pmezard@gmail.com>
parents: 10397
diff changeset
    96
12345
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
    97
  $ ln -s linka linka
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
    98
  $ hg add linka
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
    99
  $ hg qnew link
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   100
  $ hg mv linka linkb
12398
2bc926ad65c2 merge with stable
Mads Kiilerich <mads@kiilerich.com>
parents: 12396 12345
diff changeset
   101
  $ rm linkb
2bc926ad65c2 merge with stable
Mads Kiilerich <mads@kiilerich.com>
parents: 12396 12345
diff changeset
   102
  $ ln -s linkb linkb
12345
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   103
  $ hg qnew movelink
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   104
  $ hg qpop
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   105
  popping movelink
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   106
  now at: link
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   107
  $ hg qpush
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   108
  applying movelink
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   109
  now at: movelink
25472
4d2b9b304ad0 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com>
parents: 23749
diff changeset
   110
  $ readlink.py linkb
12345
e0ee3e822a9a Merge with stable
Patrick Mezard <pmezard@gmail.com>
parents: 12341 11908
diff changeset
   111
  linkb -> linkb