Mercurial > hg
annotate tests/test-issue1993.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 | 4591cd6b6794 |
children |
rev | line source |
---|---|
12726
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
1 $ hg init a |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
2 $ cd a |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
3 $ echo a > a |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
4 $ hg ci -Am0 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
5 adding a |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
6 $ echo b > b |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
7 $ hg ci -Am1 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
8 adding b |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
9 $ hg tag -r0 default |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
10 warning: tag default conflicts with existing branch name |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
11 $ hg log |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
12 changeset: 2:30a83d1e4a1e |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
13 tag: tip |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
14 user: test |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
15 date: Thu Jan 01 00:00:00 1970 +0000 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
16 summary: Added tag default for changeset f7b1eb17ad24 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
17 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
18 changeset: 1:925d80f479bb |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
19 user: test |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
20 date: Thu Jan 01 00:00:00 1970 +0000 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
21 summary: 1 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
22 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
23 changeset: 0:f7b1eb17ad24 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
24 tag: default |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
25 user: test |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
26 date: Thu Jan 01 00:00:00 1970 +0000 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
27 summary: 0 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
28 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
29 $ hg update 'tag(default)' |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
30 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
31 $ hg parents |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
32 changeset: 0:f7b1eb17ad24 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
33 tag: default |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
34 user: test |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
35 date: Thu Jan 01 00:00:00 1970 +0000 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
36 summary: 0 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
37 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
38 $ hg update 'branch(default)' |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
39 2 files updated, 0 files merged, 0 files removed, 0 files unresolved |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
40 $ hg parents |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
41 changeset: 2:30a83d1e4a1e |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
42 tag: tip |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
43 user: test |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
44 date: Thu Jan 01 00:00:00 1970 +0000 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
45 summary: Added tag default for changeset f7b1eb17ad24 |
61c0df2b089a
update: use revsingle to enable use of revsets as update targets (issue1993)
Augie Fackler <durin42@gmail.com>
parents:
diff
changeset
|
46 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12726
diff
changeset
|
47 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12726
diff
changeset
|
48 $ cd .. |