tests/test-update-names.t
author Yuya Nishihara <yuya@tcha.org>
Sun, 18 Feb 2018 11:53:26 +0900
changeset 36509 638c012a87ef
parent 34942 2a774cae3a03
child 39196 8c6775e812d8
permissions -rw-r--r--
templater: add option to parse template string just like raw string literal This seems a bit odd because the template syntax has no raw string literal containing template fragments, but is necessary to port filename format string to templater. See the next patch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
     1
Test update logic when there are renames or weird same-name cases between dirs
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
     2
and files
10874
4f11978ae45d copies: properly visit file context ancestors on working file contexts
Henrik Stuart <henrik.stuart@edlund.dk>
parents:
diff changeset
     3
12328
b63f6422d2a7 tests: fix a bunch of pointless #s in unified tests
Matt Mackall <mpm@selenic.com>
parents: 12316
diff changeset
     4
Update with local changes across a file rename
12299
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
     5
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
     6
  $ hg init r1 && cd r1
12299
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
     7
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
     8
  $ echo a > a
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
     9
  $ hg add a
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    10
  $ hg ci -m a
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    11
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    12
  $ hg mv a b
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    13
  $ hg ci -m rename
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    14
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    15
  $ echo b > b
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    16
  $ hg ci -m change
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    17
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    18
  $ hg up -q 0
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    19
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    20
  $ echo c > a
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    21
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    22
  $ hg up
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    23
  merging a and b to b
26614
ef1eb6df7071 simplemerge: move conflict warning message to filemerge
Siddharth Agarwal <sid0@fb.com>
parents: 16911
diff changeset
    24
  warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
12299
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    25
  0 files updated, 0 files merged, 0 files removed, 1 files unresolved
a73684df0f8a tests: unify test-update-renames
Adrian Buehlmann <adrian@cadifra.com>
parents: 10874
diff changeset
    26
  use 'hg resolve' to retry unresolved file merges
12316
4134686b83e1 tests: add exit codes to unified tests
Matt Mackall <mpm@selenic.com>
parents: 12299
diff changeset
    27
  [1]
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    28
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    29
Test update when local untracked directory exists with the same name as a
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    30
tracked file in a commit we are updating to
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    31
  $ hg init r2 && cd r2
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    32
  $ echo root > root && hg ci -Am root  # rev 0
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    33
  adding root
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    34
  $ echo text > name && hg ci -Am "name is a file"  # rev 1
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    35
  adding name
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    36
  $ hg up 0
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    37
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    38
  $ mkdir name
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    39
  $ hg up 1
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    40
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    41
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    42
Test update when local untracked directory exists with some files in it and has
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    43
the same name a tracked file in a commit we are updating to. In future this
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    44
should be updated to give an friendlier error message, but now we should just
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    45
make sure that this does not erase untracked data
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    46
  $ hg up 0
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    47
  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    48
  $ mkdir name
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    49
  $ echo text > name/file
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    50
  $ hg st
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    51
  ? name/file
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    52
  $ hg up 1
34942
2a774cae3a03 merge: disable path conflict checking by default (issue5716)
Siddharth Agarwal <sid0@fb.com>
parents: 34553
diff changeset
    53
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
    54
  $ cd ..
29629
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    55
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    56
#if symlink
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    57
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    58
Test update when two commits have symlinks that point to different folders
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    59
  $ hg init r3 && cd r3
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    60
  $ echo root > root && hg ci -Am root
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    61
  adding root
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    62
  $ mkdir folder1 && mkdir folder2
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    63
  $ ln -s folder1 folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    64
  $ hg ci -Am "symlink to folder1"
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    65
  adding folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    66
  $ rm folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    67
  $ ln -s folder2 folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    68
  $ hg ci -Am "symlink to folder2"
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    69
  $ hg up 1
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    70
  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    71
  $ cd ..
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    72
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
    73
#endif
30172
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    74
30230
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
    75
#if rmcwd
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
    76
30172
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    77
Test that warning is printed if cwd is deleted during update
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    78
  $ hg init r4 && cd r4
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    79
  $ mkdir dir
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    80
  $ cd dir
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    81
  $ echo a > a
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    82
  $ echo b > b
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    83
  $ hg add a b
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    84
  $ hg ci -m "file and dir"
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    85
  $ hg up -q null
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    86
  current directory was removed
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
    87
  (consider changing to repo root: $TESTTMP/r1/r4)
30230
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
    88
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
    89
#endif