Mercurial > hg
annotate tests/test-empty-group.t @ 30706:2e4862646f02
repair: speed up stripping of many roots
repair.strip() expects a set of root revisions to strip. It then
builds the full set of descedants by walking the descandants of
each. It is rare that more than a few roots get passed in, but if that
happens, it will wastefully walk the changelog for each root. So let's
just walk it once.
I noticed this because the narrowhg extension was passing not only
roots, but all the commits to strip. When there were tens of thousands
of commits to strip, this resulted in quadratic behavior with that
extension.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 04 Jan 2017 10:07:12 -0800 |
parents | 301725c3df9a |
children | eb586ed5d8ce |
rev | line source |
---|---|
4659
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
1 # A B |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
2 # |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
3 # 3 4 3 |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
4 # |\/| |\ |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
5 # |/\| | \ |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
6 # 1 2 1 2 |
7a7d4937272b
Kill trailing spaces
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3853
diff
changeset
|
7 # \ / \ / |
2339
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
8 # 0 0 |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
9 # |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
10 # if the result of the merge of 1 and 2 |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
11 # is the same in 3 and 4, no new manifest |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
12 # will be created and the manifest group |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
13 # will be empty during the pull |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
14 # |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
15 # (plus we test a failure where outgoing |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
16 # wrongly reported the number of csets) |
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
17 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
18 $ hg init a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
19 $ cd a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
20 $ touch init |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
21 $ hg ci -A -m 0 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
22 adding init |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
23 $ touch x y |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
24 $ hg ci -A -m 1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
25 adding x |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
26 adding y |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
27 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
28 $ hg update 0 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
29 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
30 $ touch x y |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
31 $ hg ci -A -m 2 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
32 adding x |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
33 adding y |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
34 created new head |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
35 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
36 $ hg merge 1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
37 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
38 (branch merge, don't forget to commit) |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
39 $ hg ci -A -m m1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
40 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
41 $ hg update -C 1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
42 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
43 $ hg merge 2 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
44 0 files updated, 0 files merged, 0 files removed, 0 files unresolved |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
45 (branch merge, don't forget to commit) |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
46 $ hg ci -A -m m2 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
47 created new head |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
48 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
49 $ cd .. |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
50 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
51 $ hg clone -r 3 a b |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
52 adding changesets |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
53 adding manifests |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
54 adding file changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
55 added 4 changesets with 3 changes to 3 files |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
56 updating to branch default |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
57 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
58 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
59 $ hg clone -r 4 a c |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
60 adding changesets |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
61 adding manifests |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
62 adding file changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
63 added 4 changesets with 3 changes to 3 files |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
64 updating to branch default |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
65 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
2339
11422943cf72
document and fix findincoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
diff
changeset
|
66 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
67 $ hg -R a outgoing b |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
68 comparing with b |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
69 searching for changes |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12847
diff
changeset
|
70 changeset: 4:1ec3c74fc0e0 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
71 tag: tip |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
72 parent: 1:79f9e10cd04e |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
73 parent: 2:8e1bb01c1a24 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
74 user: test |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
75 date: Thu Jan 01 00:00:00 1970 +0000 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
76 summary: m2 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
77 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
78 $ hg -R a outgoing c |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
79 comparing with c |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
80 searching for changes |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12847
diff
changeset
|
81 changeset: 3:d15a0c284984 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
82 parent: 2:8e1bb01c1a24 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
83 parent: 1:79f9e10cd04e |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
84 user: test |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
85 date: Thu Jan 01 00:00:00 1970 +0000 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
86 summary: m1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
87 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
88 $ hg -R b outgoing c |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
89 comparing with c |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
90 searching for changes |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12847
diff
changeset
|
91 changeset: 3:d15a0c284984 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
92 tag: tip |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
93 parent: 2:8e1bb01c1a24 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
94 parent: 1:79f9e10cd04e |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
95 user: test |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
96 date: Thu Jan 01 00:00:00 1970 +0000 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
97 summary: m1 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
98 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
99 $ hg -R c outgoing b |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
100 comparing with b |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
101 searching for changes |
14162
301725c3df9a
localrepo: reuse parent manifest in commitctx if no files have changed
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12847
diff
changeset
|
102 changeset: 3:1ec3c74fc0e0 |
12189
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
103 tag: tip |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
104 parent: 1:79f9e10cd04e |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
105 parent: 2:8e1bb01c1a24 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
106 user: test |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
107 date: Thu Jan 01 00:00:00 1970 +0000 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
108 summary: m2 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
109 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
110 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
111 $ hg -R b pull a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
112 pulling from a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
113 searching for changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
114 adding changesets |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
115 adding manifests |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
116 adding file changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
117 added 1 changesets with 0 changes to 0 files (+1 heads) |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
118 (run 'hg heads' to see heads, 'hg merge' to merge) |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
119 |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
120 $ hg -R c pull a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
121 pulling from a |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
122 searching for changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
123 adding changesets |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
124 adding manifests |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
125 adding file changes |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
126 added 1 changesets with 0 changes to 0 files (+1 heads) |
fb0c6373ec36
tests: unify test-empty-group
Adrian Buehlmann <adrian@cadifra.com>
parents:
12156
diff
changeset
|
127 (run 'hg heads' to see heads, 'hg merge' to merge) |