Mercurial > hg
comparison tests/test-rebase-scenario-global.t @ 12608:16b854cb80f1
tests: unify test-rebase*
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 01 Oct 2010 16:10:06 +0200 |
parents | tests/test-rebase-scenario-global@2313dc4d9817 |
children | 6cc4b14fb76b |
comparison
equal
deleted
inserted
replaced
12607:1393a81b3bdc | 12608:16b854cb80f1 |
---|---|
1 $ cat >> $HGRCPATH <<EOF | |
2 > [extensions] | |
3 > graphlog= | |
4 > rebase= | |
5 > | |
6 > [alias] | |
7 > tglog = log -G --template "{rev}: '{desc}' {branches}\n" | |
8 > EOF | |
9 | |
10 | |
11 $ hg init a | |
12 $ cd a | |
13 | |
14 $ echo A > A | |
15 $ hg ci -Am A | |
16 adding A | |
17 | |
18 $ echo B > B | |
19 $ hg ci -Am B | |
20 adding B | |
21 | |
22 $ hg up -q -C 0 | |
23 | |
24 $ echo C > C | |
25 $ hg ci -Am C | |
26 adding C | |
27 created new head | |
28 | |
29 $ hg up -q -C 0 | |
30 | |
31 $ echo D > D | |
32 $ hg ci -Am D | |
33 adding D | |
34 created new head | |
35 | |
36 $ hg merge -r 2 | |
37 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | |
38 (branch merge, don't forget to commit) | |
39 | |
40 $ hg ci -m E | |
41 | |
42 $ hg up -q -C 3 | |
43 | |
44 $ echo F > F | |
45 $ hg ci -Am F | |
46 adding F | |
47 created new head | |
48 | |
49 $ cd .. | |
50 | |
51 | |
52 Rebasing | |
53 B onto F - simple rebase: | |
54 | |
55 $ hg clone -q -u . a a1 | |
56 $ cd a1 | |
57 | |
58 $ hg tglog | |
59 @ 5: 'F' | |
60 | | |
61 | o 4: 'E' | |
62 |/| | |
63 o | 3: 'D' | |
64 | | | |
65 | o 2: 'C' | |
66 |/ | |
67 | o 1: 'B' | |
68 |/ | |
69 o 0: 'A' | |
70 | |
71 $ hg rebase -s 1 -d 5 | |
72 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
73 | |
74 $ hg tglog | |
75 @ 5: 'B' | |
76 | | |
77 o 4: 'F' | |
78 | | |
79 | o 3: 'E' | |
80 |/| | |
81 o | 2: 'D' | |
82 | | | |
83 | o 1: 'C' | |
84 |/ | |
85 o 0: 'A' | |
86 | |
87 $ cd .. | |
88 | |
89 | |
90 B onto D - intermediate point: | |
91 | |
92 $ hg clone -q -u . a a2 | |
93 $ cd a2 | |
94 | |
95 $ hg rebase -s 1 -d 3 | |
96 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
97 | |
98 $ hg tglog | |
99 @ 5: 'B' | |
100 | | |
101 | o 4: 'F' | |
102 |/ | |
103 | o 3: 'E' | |
104 |/| | |
105 o | 2: 'D' | |
106 | | | |
107 | o 1: 'C' | |
108 |/ | |
109 o 0: 'A' | |
110 | |
111 $ cd .. | |
112 | |
113 | |
114 C onto F - skip of E: | |
115 | |
116 $ hg clone -q -u . a a3 | |
117 $ cd a3 | |
118 | |
119 $ hg rebase -s 2 -d 5 | |
120 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
121 | |
122 $ hg tglog | |
123 @ 4: 'C' | |
124 | | |
125 o 3: 'F' | |
126 | | |
127 o 2: 'D' | |
128 | | |
129 | o 1: 'B' | |
130 |/ | |
131 o 0: 'A' | |
132 | |
133 $ cd .. | |
134 | |
135 | |
136 D onto C - rebase of a branching point (skip E): | |
137 | |
138 $ hg clone -q -u . a a4 | |
139 $ cd a4 | |
140 | |
141 $ hg rebase -s 3 -d 2 | |
142 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
143 | |
144 $ hg tglog | |
145 @ 4: 'F' | |
146 | | |
147 o 3: 'D' | |
148 | | |
149 o 2: 'C' | |
150 | | |
151 | o 1: 'B' | |
152 |/ | |
153 o 0: 'A' | |
154 | |
155 $ cd .. | |
156 | |
157 | |
158 E onto F - merged revision having a parent in ancestors of target: | |
159 | |
160 $ hg clone -q -u . a a5 | |
161 $ cd a5 | |
162 | |
163 $ hg rebase -s 4 -d 5 | |
164 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
165 | |
166 $ hg tglog | |
167 @ 5: 'E' | |
168 |\ | |
169 | o 4: 'F' | |
170 | | | |
171 | o 3: 'D' | |
172 | | | |
173 o | 2: 'C' | |
174 |/ | |
175 | o 1: 'B' | |
176 |/ | |
177 o 0: 'A' | |
178 | |
179 $ cd .. | |
180 | |
181 | |
182 D onto B - E maintains C as parent: | |
183 | |
184 $ hg clone -q -u . a a6 | |
185 $ cd a6 | |
186 | |
187 $ hg rebase -s 3 -d 1 | |
188 saved backup bundle to */.hg/strip-backup/*-backup.hg (glob) | |
189 | |
190 $ hg tglog | |
191 @ 5: 'F' | |
192 | | |
193 | o 4: 'E' | |
194 |/| | |
195 o | 3: 'D' | |
196 | | | |
197 | o 2: 'C' | |
198 | | | |
199 o | 1: 'B' | |
200 |/ | |
201 o 0: 'A' | |
202 | |
203 $ cd .. | |
204 | |
205 | |
206 These will fail (using --source): | |
207 | |
208 E onto D - rebase onto an ancestor: | |
209 | |
210 $ hg clone -q -u . a a7 | |
211 $ cd a7 | |
212 | |
213 $ hg rebase -s 4 -d 3 | |
214 abort: source is descendant of destination | |
215 [255] | |
216 | |
217 D onto E - rebase onto a descendant: | |
218 | |
219 $ hg rebase -s 3 -d 4 | |
220 abort: source is ancestor of destination | |
221 [255] | |
222 | |
223 E onto B - merge revision with both parents not in ancestors of target: | |
224 | |
225 $ hg rebase -s 4 -d 1 | |
226 abort: cannot use revision 4 as base, result would have 3 parents | |
227 [255] | |
228 | |
229 | |
230 These will abort gracefully (using --base): | |
231 | |
232 E onto E - rebase onto same changeset: | |
233 | |
234 $ hg rebase -b 4 -d 4 | |
235 nothing to rebase | |
236 [1] | |
237 | |
238 E onto D - rebase onto an ancestor: | |
239 | |
240 $ hg rebase -b 4 -d 3 | |
241 nothing to rebase | |
242 [1] | |
243 | |
244 D onto E - rebase onto a descendant: | |
245 | |
246 $ hg rebase -b 3 -d 4 | |
247 nothing to rebase | |
248 [1] | |
249 |