annotate tests/test-rebuildstate.t @ 33352:967ac37f3d45

cleanupnode: do not use generator for node mapping The 'successors' part of the mappings used of be a tuple. This avoid issue from code consuming the generator "by mistake". For example, an extension inspecting the mapping content used to be able to iterate over the successors mapping without consequence. Since the mapping are small we do not expect any performance impact we use tuple again for this.
author Octobus <contact@octobus.net>
date Sun, 09 Jul 2017 15:11:19 +0200
parents fce4ed2912bb
children 74c5ddd97008
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
1
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
2 $ cat > adddrop.py <<EOF
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 30026
diff changeset
3 > from mercurial import registrar
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
4 > cmdtable = {}
32337
46ba2cdda476 registrar: move cmdutil.command to registrar module (API)
Yuya Nishihara <yuya@tcha.org>
parents: 30026
diff changeset
5 > command = registrar.command(cmdtable)
33097
fce4ed2912bb py3: make sure commands name are bytes in tests
Pulkit Goyal <7895pulkit@gmail.com>
parents: 32337
diff changeset
6 > @command(b'debugadddrop',
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
7 > [('', 'drop', False, 'drop file from dirstate', 'FILE'),
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
8 > ('', 'normal-lookup', False, 'add file to dirstate', 'FILE')],
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
9 > 'hg debugadddrop')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
10 > def debugadddrop(ui, repo, *pats, **opts):
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
11 > '''Add or drop unnamed arguments to or from the dirstate'''
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
12 > drop = opts.get('drop')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
13 > nl = opts.get('normal_lookup')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
14 > if nl and drop:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
15 > raise error.Abort('drop and normal-lookup are mutually exclusive')
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
16 > wlock = repo.wlock()
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
17 > try:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
18 > for file in pats:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
19 > if opts.get('normal_lookup'):
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
20 > repo.dirstate.normallookup(file)
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
21 > else:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
22 > repo.dirstate.drop(file)
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
23 >
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
24 > repo.dirstate.write(repo.currenttransaction())
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
25 > finally:
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
26 > wlock.release()
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
27 > EOF
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
28
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
29 $ echo "[extensions]" >> $HGRCPATH
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
30 $ echo "debugadddrop=`pwd`/adddrop.py" >> $HGRCPATH
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
31
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
32 basic test for hg debugrebuildstate
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
33
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
34 $ hg init repo
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
35 $ cd repo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
36
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
37 $ touch foo bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
38 $ hg ci -Am 'add foo bar'
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
39 adding bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
40 adding foo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
41
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
42 $ touch baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
43 $ hg add baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
44 $ hg rm bar
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
45
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
46 $ hg debugrebuildstate
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
47
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
48 state dump after
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
49
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
50 $ hg debugstate --nodates | sort
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
51 n 0 -1 unset bar
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
52 n 0 -1 unset foo
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
53
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
54 $ hg debugadddrop --normal-lookup file1 file2
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
55 $ hg debugadddrop --drop bar
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
56 $ hg debugadddrop --drop
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
57 $ hg debugstate --nodates
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
58 n 0 -1 unset file1
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
59 n 0 -1 unset file2
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
60 n 0 -1 unset foo
27174
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
61 $ hg debugrebuildstate
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
62
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
63 status
5065
b304c2496f52 dirstate: fix rebuild; add a test
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
diff changeset
64
12121
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
65 $ hg st -A
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
66 ! bar
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
67 ? baz
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
68 C foo
8f258dd4ed02 tests: unify test-rebuildstate
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents: 6344
diff changeset
69
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
70 Test debugdirstate --minimal where a file is not in parent manifest
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
71 but in the dirstate
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
72 $ touch foo bar qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
73 $ hg add qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
74 $ hg remove bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
75 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
76 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
77 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
78 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
79 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
80 $ hg debugadddrop --normal-lookup baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
81 $ hg debugdirstate --nodates
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
82 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
83 n 0 -1 * baz (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
84 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
85 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
86 $ hg debugrebuilddirstate --minimal
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
87 $ hg debugdirstate --nodates
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
88 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
89 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
90 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
91 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
92 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
93 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
94 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
95 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
96
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
97 Test debugdirstate --minimal where file is in the parent manifest but not the
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
98 dirstate
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
99 $ hg manifest
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
100 bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
101 foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
102 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
103 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
104 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
105 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
106 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
107 $ hg debugdirstate --nodates
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
108 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
109 n 644 0 * foo (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
110 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
111 $ hg debugadddrop --drop foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
112 $ hg debugdirstate --nodates
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
113 r 0 0 * bar (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
114 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
115 $ hg debugrebuilddirstate --minimal
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
116 $ hg debugdirstate --nodates
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
117 r 0 0 * bar (glob)
30026
ba06562a06a2 dirstate: rebuild should update dirstate properly
Mateusz Kwapich <mitrandir@fb.com>
parents: 27176
diff changeset
118 n 0 -1 * foo (glob)
27175
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
119 a 0 -1 * qux (glob)
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
120 $ hg status -A
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
121 A qux
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
122 R bar
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
123 ? baz
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
124 C foo
25a8a866eb5d debugrebuilddirstate: added tests for --minimal flag
Christian Delahousse <cdelahousse@fb.com>
parents: 27174
diff changeset
125