annotate tests/test-update-names.t @ 43961:b69d5f3a41d0

rust-index: add a struct wrapping the C index Implementing the full index logic in one go is journey larger than we would like. To achieve a smoother transition, we start with a simple Rust wrapper that delegates allwork to the current C implementation. Once we will have a fully working index object in Rust, we can easily start using more and more Rust Code with it. The object in this patch is functional and tested. However, multiple of the currently existing rust (in the `hg-cpython` crate) requires a `Graph`. Right now we build this `Graph` (as cindex::Index) using the C index passed as a PyObject. They will have to be updated to be made compatible. Differential Revision: https://phab.mercurial-scm.org/D7655
author Georges Racinet <georges.racinet@octobus.net>
date Mon, 23 Dec 2019 10:02:50 -0800
parents c8514f858788
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
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
39593
c8514f858788 tests: stabilize change for handling not quoting non-empty-directory
Matt Harbison <matt_harbison@yahoo.com>
parents: 39577
diff changeset
53 abort: Unlinking directory not permitted: *$TESTTMP/r1/r2/name* (glob) (windows !)
39577
cb1329738d64 tests: handle Python 3 not quoting non-empty-directory error
Augie Fackler <augie@google.com>
parents: 39478
diff changeset
54 abort: Directory not empty: '?\$TESTTMP/r1/r2/name'? (re) (no-windows !)
39196
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
55 [255]
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
56 $ cat name/file
8c6775e812d8 merge: do not delete untracked files silently (issue5962)
Yuya Nishihara <yuya@tcha.org>
parents: 34942
diff changeset
57 text
29480
1e4512eac59e update: teach hg to override untracked dir with a tracked file on update
Kostia Balytskyi <ikostia@fb.com>
parents: 26614
diff changeset
58 $ cd ..
29629
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
59
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
60 #if symlink
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
61
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
62 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
63 $ 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
64 $ 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
65 adding root
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
66 $ mkdir folder1 && mkdir folder2
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
67 $ ln -s folder1 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 folder1"
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
69 adding folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
70 $ rm folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
71 $ ln -s folder2 folder
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
72 $ 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
73 $ hg up 1
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
74 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
75 $ cd ..
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
76
b33c0c38d68f update: fix bug when update tries to modify folder symlink
Kostia Balytskyi <ikostia@fb.com>
parents: 29480
diff changeset
77 #endif
30172
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
78
30230
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
79 #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
80
30172
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
81 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
82 $ hg init r4 && cd r4
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
83 $ mkdir dir
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
84 $ cd dir
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
85 $ echo a > a
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
86 $ echo b > b
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
87 $ hg add a b
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
88 $ hg ci -m "file and dir"
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
89 $ hg up -q null
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
90 current directory was removed
90a6c18a7c1d update: warn if cwd was deleted
Stanislau Hlebik <stash@fb.com>
parents: 29629
diff changeset
91 (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
92
46a0203dfb89 tests: run "cwd was removed" test only if cwd can actually be removed
Yuya Nishihara <yuya@tcha.org>
parents: 30172
diff changeset
93 #endif