Mercurial > hg
annotate tests/test-rebase-interruptions.t @ 18944:a9c443b3b240
unionrepo: read-only operations on a union of two localrepos
unionrepo is just like bundlerepo without bundles.
The implementation is very similar to bundlerepo, but I don't see any obvious
way to generalize it.
Some most obvious use cases for this would be log and diff across local repos,
as a kind of preview of pulls, for instance:
$ hg -R union:repo1+repo2 heads
$ hg -R union:repo1+repo2 log -r REPO1REV -r REPO2REV
$ hg -R union:repo1+repo2 log -r '::REPO1REV-::REPO2REV'
$ hg -R union:repo1+repo2 log -r 'ancestor(REPO1REV,REPO2REV)'
$ hg -R union:repo1+repo2 diff -r REPO1REV -r REPO2REV
This is going to be used in RhodeCode, and Bitbucket already uses something
similar. Having a core implementation would be beneficial.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Fri, 18 Jan 2013 15:54:09 +0100 |
parents | e5d9441ec281 |
children | e5a5790a3185 |
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] |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
10 > tglog = log -G --template "{rev}: '{desc}' {branches}\n" |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
11 > tglogp = log -G --template "{rev}:{phase} '{desc}' {branches}\n" |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
12 > EOF |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
13 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
14 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
15 $ hg init a |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
16 $ cd a |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
17 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
18 $ echo A > A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
19 $ hg ci -Am A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
20 adding A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
21 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
22 $ echo B > B |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
23 $ hg ci -Am B |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
24 adding B |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
25 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
26 $ echo C >> A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
27 $ hg ci -m C |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
28 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
29 $ hg up -q -C 0 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
30 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
31 $ echo D >> A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
32 $ hg ci -m D |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
33 created new head |
6910 | 34 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
35 $ echo E > E |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
36 $ hg ci -Am E |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
37 adding E |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
38 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
39 $ cd .. |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
40 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
41 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
42 Changes during an interruption - continue: |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
43 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
44 $ hg clone -q -u . a a1 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
45 $ cd a1 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
46 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
47 $ hg tglog |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
48 @ 4: 'E' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
49 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
50 o 3: 'D' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
51 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
52 | o 2: 'C' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
53 | | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
54 | o 1: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
55 |/ |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
56 o 0: 'A' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
57 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
58 Rebasing B onto E: |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
59 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
60 $ hg rebase -s 1 -d 4 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
61 merging A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
62 warning: conflicts during merge. |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
12896
diff
changeset
|
63 merging A incomplete! (edit conflicts, then use 'hg resolve --mark') |
18933
42b620fc89e2
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
17026
diff
changeset
|
64 unresolved conflicts (see hg resolve, then hg rebase --continue) |
18935
e5d9441ec281
dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents:
18933
diff
changeset
|
65 [1] |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
66 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
67 Force a commit on C during the interruption: |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
68 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
69 $ hg up -q -C 2 |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
70 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
71 $ echo 'Extra' > Extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
72 $ hg add Extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
73 $ hg ci -m 'Extra' |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
74 |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
75 Force this commit onto secret phase |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
76 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
77 $ hg phase --force --secret 6 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
78 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
79 $ hg tglogp |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
80 @ 6:secret 'Extra' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
81 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
82 | o 5:draft 'B' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
83 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
84 | o 4:draft 'E' |
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 3:draft 'D' |
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 | 2:draft 'C' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
89 | | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
90 o | 1:draft 'B' |
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 0:draft 'A' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
93 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
94 Resume the rebasing: |
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 $ hg rebase --continue |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
97 merging A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
98 warning: conflicts during merge. |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
12896
diff
changeset
|
99 merging A incomplete! (edit conflicts, then use 'hg resolve --mark') |
18933
42b620fc89e2
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
17026
diff
changeset
|
100 unresolved conflicts (see hg resolve, then hg rebase --continue) |
18935
e5d9441ec281
dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents:
18933
diff
changeset
|
101 [1] |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
102 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
103 Solve the conflict and go on: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
104 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
105 $ echo 'conflict solved' > A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
106 $ rm A.orig |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
107 $ hg resolve -m A |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
108 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
109 $ hg rebase --continue |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
110 warning: new changesets detected on source branch, not stripping |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
111 |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
112 $ hg tglogp |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
113 @ 7:draft 'C' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
114 | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
115 | o 6:secret 'Extra' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
116 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
117 o | 5:draft 'B' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
118 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
119 o | 4:draft 'E' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
120 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
121 o | 3:draft 'D' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
122 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
123 | o 2:draft 'C' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
124 | | |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
125 | o 1:draft 'B' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
126 |/ |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
127 o 0:draft 'A' |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
128 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
129 $ cd .. |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
130 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
131 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
132 Changes during an interruption - abort: |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
133 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
134 $ hg clone -q -u . a a2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
135 $ cd a2 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
136 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
137 $ hg tglog |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
138 @ 4: 'E' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
139 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
140 o 3: 'D' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
141 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
142 | o 2: 'C' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
143 | | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
144 | o 1: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
145 |/ |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
146 o 0: 'A' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
147 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
148 Rebasing B onto E: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
149 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
150 $ hg rebase -s 1 -d 4 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
151 merging A |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
152 warning: conflicts during merge. |
15501
2371f4aea665
merge: give a special message for internal:merge failure (issue3105)
Matt Mackall <mpm@selenic.com>
parents:
12896
diff
changeset
|
153 merging A incomplete! (edit conflicts, then use 'hg resolve --mark') |
18933
42b620fc89e2
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
17026
diff
changeset
|
154 unresolved conflicts (see hg resolve, then hg rebase --continue) |
18935
e5d9441ec281
dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents:
18933
diff
changeset
|
155 [1] |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
156 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
157 Force a commit on B' during the interruption: |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
158 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
159 $ hg up -q -C 5 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
160 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
161 $ echo 'Extra' > Extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
162 $ hg add Extra |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
163 $ hg ci -m 'Extra' |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
164 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
165 $ hg tglog |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
166 @ 6: 'Extra' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
167 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
168 o 5: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
169 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
170 o 4: 'E' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
171 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
172 o 3: 'D' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
173 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
174 | o 2: 'C' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
175 | | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
176 | o 1: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
177 |/ |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
178 o 0: 'A' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
179 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
180 Abort the rebasing: |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
181 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
182 $ hg rebase --abort |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
183 warning: new changesets detected on target branch, can't abort |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
184 [255] |
6906
808f03f61ebe
Add rebase extension
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
diff
changeset
|
185 |
12608
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
186 $ hg tglog |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
187 @ 6: 'Extra' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
188 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
189 o 5: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
190 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
191 o 4: 'E' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
192 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
193 o 3: 'D' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
194 | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
195 | o 2: 'C' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
196 | | |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
197 | o 1: 'B' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
198 |/ |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
199 o 0: 'A' |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
200 |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
201 $ cd .. |
16b854cb80f1
tests: unify test-rebase*
Adrian Buehlmann <adrian@cadifra.com>
parents:
11208
diff
changeset
|
202 |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
203 Changes during an interruption - abort (again): |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
204 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
205 $ hg clone -q -u . a a3 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
206 $ cd a3 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
207 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
208 $ hg tglogp |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
209 @ 4:draft 'E' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
210 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
211 o 3:draft 'D' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
212 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
213 | o 2:draft 'C' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
214 | | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
215 | o 1:draft 'B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
216 |/ |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
217 o 0:draft 'A' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
218 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
219 Rebasing B onto E: |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
220 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
221 $ hg rebase -s 1 -d 4 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
222 merging A |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
223 warning: conflicts during merge. |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
224 merging A incomplete! (edit conflicts, then use 'hg resolve --mark') |
18933
42b620fc89e2
rebase: switch from util.Abort to util.InterventionRequired where appropriate (bc)
Augie Fackler <raf@durin42.com>
parents:
17026
diff
changeset
|
225 unresolved conflicts (see hg resolve, then hg rebase --continue) |
18935
e5d9441ec281
dispatch: exit with status 1 for an InterventionRequired exception (bc)
Augie Fackler <raf@durin42.com>
parents:
18933
diff
changeset
|
226 [1] |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
227 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
228 Change phase on B and B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
229 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
230 $ hg up -q -C 5 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
231 $ hg phase --public 1 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
232 $ hg phase --public 5 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
233 $ hg phase --secret -f 2 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
234 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
235 $ hg tglogp |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
236 @ 5:public 'B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
237 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
238 o 4:public 'E' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
239 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
240 o 3:public 'D' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
241 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
242 | o 2:secret 'C' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
243 | | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
244 | o 1:public 'B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
245 |/ |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
246 o 0:public 'A' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
247 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
248 Abort the rebasing: |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
249 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
250 $ hg rebase --abort |
17026
f8af57c00a29
rebase: improve error message on improper phases
Dan Villiom Podlaski Christiansen <dan@cabo.dk>
parents:
15917
diff
changeset
|
251 abort: can't abort rebase due to immutable changesets 45396c49d53b |
f8af57c00a29
rebase: improve error message on improper phases
Dan Villiom Podlaski Christiansen <dan@cabo.dk>
parents:
15917
diff
changeset
|
252 (see hg help phases for details) |
15917
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
253 [255] |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
254 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
255 $ hg tglogp |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
256 @ 5:public 'B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
257 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
258 o 4:public 'E' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
259 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
260 o 3:public 'D' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
261 | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
262 | o 2:secret 'C' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
263 | | |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
264 | o 1:public 'B' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
265 |/ |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
266 o 0:public 'A' |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
267 |
e66084ef8449
rebase: fix phases movement
Alain Leufroy <alain.leufroyATgmailMYDOTcom>
parents:
15742
diff
changeset
|
268 $ cd .. |