Mercurial > hg
annotate tests/test-rebase-conflicts.t @ 16363:2cdd7e63211b
parsers: incrementally parse the revlog index in C
We only parse entries in a revlog index file when they are actually
needed, and cache them when first requested.
This makes a huge difference to performance on large revlogs when
accessing the tip revision or performing a handful of numeric lookups
(very common cases). For instance, "hg --time tip --template {node}"
on a tree with 300,000 revs takes 0.15 before, 0.02 after.
Even for revlog-intensive operations (e.g. running "hg log" to
completion), the lazy approach is about 1% faster than the eager
parse_index2.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Thu, 05 Apr 2012 13:00:35 -0700 |
parents | e66084ef8449 |
children | f2719b387380 |
rev | line source |
---|---|
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
1 $ cat >> $HGRCPATH <<EOF |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
2 > [extensions] |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
3 > graphlog= |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
4 > rebase= |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
5 > |
15742
65df60a3f96b
phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15501
diff
changeset
|
6 > [phases] |
65df60a3f96b
phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15501
diff
changeset
|
7 > publish=False |
65df60a3f96b
phases: prevent rebase to rebase immutable changeset.
Pierre-Yves David <pierre-yves.david@ens-lyon.org>
parents:
15501
diff
changeset
|
8 > |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
9 > [alias] |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
10 > tglog = log -G --template "{rev}:{phase} '{desc}' {branches}\n" |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
11 > EOF |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
12 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
13 $ hg init a |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
14 $ cd a |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
15 $ echo c1 >common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
16 $ hg add common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
17 $ hg ci -m C1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
18 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
19 $ echo c2 >>common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
20 $ hg ci -m C2 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
21 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
22 $ echo c3 >>common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
23 $ hg ci -m C3 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
24 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
25 $ hg up -q -C 1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
26 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
27 $ echo l1 >>extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
28 $ hg add extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
29 $ hg ci -m L1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
30 created new head |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
31 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
32 $ sed -e 's/c2/l2/' common > common.new |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
33 $ mv common.new common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
34 $ hg ci -m L2 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
35 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
36 $ echo l3 >> extra2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
37 $ hg add extra2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
38 $ hg ci -m L3 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
39 |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
40 $ hg phase --force --secret 4 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
41 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
42 $ hg tglog |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
43 @ 5:secret 'L3' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
44 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
45 o 4:secret 'L2' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
46 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
47 o 3:draft 'L1' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
48 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
49 | o 2:draft 'C3' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
50 |/ |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
51 o 1:draft 'C2' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
52 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
53 o 0:draft 'C1' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
54 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
55 Try to call --continue: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
56 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
57 $ hg rebase --continue |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
58 abort: no rebase in progress |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
59 [255] |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
60 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
61 Conflicting rebase: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
62 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
63 $ hg rebase -s 3 -d 2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
64 merging common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
65 warning: conflicts during merge. |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
13541
diff
changeset
|
66 merging common incomplete! (edit conflicts, then use 'hg resolve --mark') |
12896
b19b4c1df066
rebase: improve resolve failure message
Steve Borho <steve@borho.org>
parents:
12640
diff
changeset
|
67 abort: unresolved conflicts (see hg resolve, then hg rebase --continue) |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
68 [255] |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
69 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
70 Try to continue without solving the conflict: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
71 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
72 $ hg rebase --continue |
13541
919174c0aaff
Improve unresolved merge conflicts warning (issue2681)
Patrick Mezard <pmezard@gmail.com>
parents:
12896
diff
changeset
|
73 abort: unresolved merge conflicts (see hg help resolve) |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
74 [255] |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
75 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
76 Conclude rebase: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
77 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
78 $ echo 'resolved merge' >common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
79 $ hg resolve -m common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
80 $ hg rebase --continue |
12640
6cc4b14fb76b
tests: remove redundant globs
Mads Kiilerich <mads@kiilerich.com>
parents:
12608
diff
changeset
|
81 saved backup bundle to $TESTTMP/a/.hg/strip-backup/*-backup.hg (glob) |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
82 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
83 $ hg tglog |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
84 @ 5:secret 'L3' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
85 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
86 o 4:secret 'L2' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
87 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
88 o 3:draft 'L1' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
89 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
90 o 2:draft 'C3' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
91 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
92 o 1:draft 'C2' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
93 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
94 o 0:draft 'C1' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
95 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
96 Check correctness: |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
97 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
98 $ hg cat -r 0 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
99 c1 |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
100 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
101 $ hg cat -r 1 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
102 c1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
103 c2 |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
104 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
105 $ hg cat -r 2 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
106 c1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
107 c2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
108 c3 |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
109 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
110 $ hg cat -r 3 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
111 c1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
112 c2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
113 c3 |
7278
45495d784ad6
rebase: avoid redundant merges (issue1301)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6910
diff
changeset
|
114 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
115 $ hg cat -r 4 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
116 resolved merge |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
117 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
118 $ hg cat -r 5 common |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
119 resolved merge |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
120 |