tests/test-no-symlinks.t
author Durham Goode <durham@fb.com>
Tue, 14 Jan 2014 13:49:19 -0800
changeset 20292 8dc254198a8f
parent 14116 cd3032437064
child 22046 7a9cbb315d84
permissions -rw-r--r--
changectx: increase perf of walk function When running 'hg cat -r . <file>' it was doing an expensive ctx.walk(m) which applied the regex to every file in the manifest. This changes changectx.walk to iterate over just the files in the regex, if no other patterns are specified. This cuts hg cat time by 50% in our repo and probably benefits a few other commands as well.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12917
a419cb2395d5 tests: unify test-no-symlinks
Patrick Mezard <pmezard@gmail.com>
parents: 5091
diff changeset
     1
  $ "$TESTDIR/hghave" no-symlink || exit 80
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