annotate tests/test-rebuildstate.t @ 28243:45313f5a3a8c

blackbox: avoid creating multiple file handles for a single log There are multiple ui objects in Mercurial that can relate to a repository, before this change, each one would have its own file pointer, which results in unfortunate logging behavior. Also, any log rotation results would be bad because only the active blackboxui object's file pointer would be refreshed. Note that this does not prevent two long running hg commands for the same repository from causing problems.
author timeless <timeless@mozdev.org>
date Wed, 03 Feb 2016 15:41:31 +0000
parents 54ace3372f84
children ba06562a06a2
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
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
3 > from mercurial import cmdutil
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
4 > cmdtable = {}
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
5 > command = cmdutil.command(cmdtable)
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
6 > @command('debugadddrop',
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
23840
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 16913
diff changeset
51 n 644 -1 set bar
ddc17eaf0f1b debugdirstate: don't hide date field with --nodate, just show 'set'/'unset'
Mads Kiilerich <madski@unity3d.com>
parents: 16913
diff changeset
52 n 644 -1 set 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
9fbe3545e4bd debugdirstate: add command to rebuildstate test to modify dirstate
Christian Delahousse <cdelahousse@fb.com>
parents: 23840
diff changeset
60 n 644 -1 set foo
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)
27176
54ace3372f84 dirstate: change debugrebuilddirstate --minimal to use dirstate.rebuild
Christian Delahousse <cdelahousse@fb.com>
parents: 27175
diff changeset
118 n 644 -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