Mercurial > hg
annotate tests/test-rebase-conflicts.t @ 17626:3a524b647897
context: add "descendant()" to changectx for efficient descendant examination
This patch adds "descendant()", which uses "revlog.descendant()" for
descendant examination, to changectx.
This implementation is more efficient than "new in old.descendants()"
expression, because:
- "changectx.descendants()" creates temporary "changectx" objects,
but "revlog.descendant()" doesn't
"revlog.descendant()" checks only revision numbers of descendants.
- "revlog.descendant()" stops scanning, when scanning of all
revisions less than one of examination target is finished
this can avoid useless scanning in "not descendant" case.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Tue, 18 Sep 2012 21:39:12 +0900 |
parents | 4f8054d3171b |
children | 72412afe4c28 |
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 |
17345
4f8054d3171b
check-code: fix check for trailing whitespace on sh command lines
Mads Kiilerich <mads@kiilerich.com>
parents:
16913
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 |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15917
diff
changeset
|
121 $ cd .. |