Mercurial > hg
annotate tests/test-issue586.t @ 41247:a89b20a49c13
rust-cpython: using MissingAncestors from Python code
As precedently done with LazyAncestors on cpython.rs, we test for the
presence of the 'rustext' module.
incrementalmissingrevs() has two callers within the Mercurial core:
`setdiscovery.partialdiscovery` and the `only()` revset.
This move shows a significant discovery performance improvement
in cases where the baseline is slow: using perfdiscovery on the PyPy
repos, prepared with `contrib/discovery-helper <repo> 50 100`, we
get averaged medians of 403ms with the Rust version vs 742ms without
(about 45% better).
But there are still indications that performance can be worse in cases
the baseline is fast, possibly due to the conversion from Python to
Rust and back becoming the bottleneck. We could measure this on
mozilla-central in cases were the delta is just a few changesets.
This requires confirmation, but if that's the reason, then an
upcoming `partialdiscovery` fully in Rust should solve the problem.
Differential Revision: https://phab.mercurial-scm.org/D5551
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Fri, 30 Nov 2018 14:35:57 +0100 |
parents | eb586ed5d8ce |
children |
rev | line source |
---|---|
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
11846
diff
changeset
|
1 Issue586: removing remote files after merge appears to corrupt the |
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
11846
diff
changeset
|
2 dirstate |
4535
720ae5085ee3
commit: fix bug where dirstate for removed file is confused
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
3 |
11846 | 4 $ hg init a |
5 $ cd a | |
6 $ echo a > a | |
7 $ hg ci -Ama | |
8 adding a | |
9 | |
10 $ hg init ../b | |
11 $ cd ../b | |
12 $ echo b > b | |
13 $ hg ci -Amb | |
14 adding b | |
4535
720ae5085ee3
commit: fix bug where dirstate for removed file is confused
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
15 |
11846 | 16 $ hg pull -f ../a |
17 pulling from ../a | |
18 searching for changes | |
19 warning: repository is unrelated | |
13742
7abab875e647
discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12399
diff
changeset
|
20 requesting all changes |
11846 | 21 adding changesets |
22 adding manifests | |
23 adding file changes | |
24 added 1 changesets with 1 changes to 1 files (+1 heads) | |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
28251
diff
changeset
|
25 new changesets cb9a9f314b8b |
11846 | 26 (run 'hg heads' to see heads, 'hg merge' to merge) |
27 $ hg merge | |
28 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
29 (branch merge, don't forget to commit) | |
30 $ hg rm -f a | |
31 $ hg ci -Amc | |
4535
720ae5085ee3
commit: fix bug where dirstate for removed file is confused
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
32 |
11846 | 33 $ hg st -A |
34 C b | |
35 $ cd .. | |
36 | |
12399
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
11846
diff
changeset
|
37 Issue1433: Traceback after two unrelated pull, two move, a merge and |
4fee1fd3de9a
tests: added a short description to issue numbers
Martin Geisler <mg@aragost.com>
parents:
11846
diff
changeset
|
38 a commit (related to issue586) |
4535
720ae5085ee3
commit: fix bug where dirstate for removed file is confused
Matt Mackall <mpm@selenic.com>
parents:
diff
changeset
|
39 |
11846 | 40 create test repos |
41 | |
42 $ hg init repoa | |
43 $ touch repoa/a | |
44 $ hg -R repoa ci -Am adda | |
45 adding a | |
7564
f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
Patrick Mezard <pmezard@gmail.com>
parents:
4535
diff
changeset
|
46 |
11846 | 47 $ hg init repob |
48 $ touch repob/b | |
49 $ hg -R repob ci -Am addb | |
50 adding b | |
7564
f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
Patrick Mezard <pmezard@gmail.com>
parents:
4535
diff
changeset
|
51 |
11846 | 52 $ hg init repoc |
53 $ cd repoc | |
54 $ hg pull ../repoa | |
55 pulling from ../repoa | |
56 requesting all changes | |
57 adding changesets | |
58 adding manifests | |
59 adding file changes | |
60 added 1 changesets with 1 changes to 1 files | |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
28251
diff
changeset
|
61 new changesets 7132ab4568ac |
11846 | 62 (run 'hg update' to get a working copy) |
63 $ hg update | |
64 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
65 $ mkdir tst | |
66 $ hg mv * tst | |
67 $ hg ci -m "import a in tst" | |
68 $ hg pull -f ../repob | |
69 pulling from ../repob | |
70 searching for changes | |
71 warning: repository is unrelated | |
13742
7abab875e647
discovery: avoid discovery when local graph is a subset of remote
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
12399
diff
changeset
|
72 requesting all changes |
11846 | 73 adding changesets |
74 adding manifests | |
75 adding file changes | |
76 added 1 changesets with 1 changes to 1 files (+1 heads) | |
34661
eb586ed5d8ce
transaction-summary: show the range of new revisions upon pull/unbundle (BC)
Denis Laxalde <denis.laxalde@logilab.fr>
parents:
28251
diff
changeset
|
77 new changesets 5ddceb349652 |
11846 | 78 (run 'hg heads' to see heads, 'hg merge' to merge) |
7564
f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
Patrick Mezard <pmezard@gmail.com>
parents:
4535
diff
changeset
|
79 |
11846 | 80 merge both repos |
7564
f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
Patrick Mezard <pmezard@gmail.com>
parents:
4535
diff
changeset
|
81 |
11846 | 82 $ hg merge |
83 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
84 (branch merge, don't forget to commit) | |
85 $ mkdir src | |
7564
f1af59451c0c
localrepo: fix bad manifest delta generation (issue1433)
Patrick Mezard <pmezard@gmail.com>
parents:
4535
diff
changeset
|
86 |
11846 | 87 move b content |
88 | |
89 $ hg mv b src | |
90 $ hg ci -m "import b in src" | |
91 $ hg manifest | |
92 src/b | |
93 tst/a | |
94 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
13742
diff
changeset
|
95 $ cd .. |