Mercurial > evolve
comparison tests/test-evolve-orphan-merge.t @ 3715:a77fb9669e99 mercurial-4.3
test-compat: merge mercurial-4.4 into mercurial-4.3
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 23 Apr 2018 12:23:00 +0200 |
parents | 98941c28f3e2 19ec729f3ca2 |
children | 537fd9a86c06 |
comparison
equal
deleted
inserted
replaced
3714:19ec729f3ca2 | 3715:a77fb9669e99 |
---|---|
49 | 49 |
50 $ hg up d76850646258 | 50 $ hg up d76850646258 |
51 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | 51 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
52 $ echo bar > b | 52 $ echo bar > b |
53 $ hg amend | 53 $ hg amend |
54 1 new orphan changesets | 54 1 new unstable changesets |
55 | 55 |
56 $ hg glog | 56 $ hg glog |
57 @ 4:64370c9805e7 added b | 57 @ 5:64370c9805e7 added b |
58 | () draft | 58 | () draft |
59 | o 3:3b2b6f4652ee merging a and b | 59 | o 3:3b2b6f4652ee merging a and b |
60 | |\ () draft | 60 | |\ () draft |
61 +---x 2:d76850646258 added b | 61 +---x 2:d76850646258 added b |
62 | | () draft | 62 | | () draft |
65 o 0:8fa14d15e168 added hgignore | 65 o 0:8fa14d15e168 added hgignore |
66 () draft | 66 () draft |
67 | 67 |
68 $ hg evolve --all | 68 $ hg evolve --all |
69 move:[3] merging a and b | 69 move:[3] merging a and b |
70 atop:[4] added b | 70 atop:[5] added b |
71 working directory is now at 91fd62122a4b | 71 working directory is now at 91fd62122a4b |
72 | 72 |
73 $ hg glog | 73 $ hg glog |
74 @ 5:91fd62122a4b merging a and b | 74 @ 6:91fd62122a4b merging a and b |
75 |\ () draft | 75 |\ () draft |
76 | o 4:64370c9805e7 added b | 76 | o 5:64370c9805e7 added b |
77 | | () draft | 77 | | () draft |
78 o | 1:c7586e2a9264 added a | 78 o | 1:c7586e2a9264 added a |
79 |/ () draft | 79 |/ () draft |
80 o 0:8fa14d15e168 added hgignore | 80 o 0:8fa14d15e168 added hgignore |
81 () draft | 81 () draft |
82 | 82 |
83 $ hg parents | 83 $ hg parents |
84 changeset: 5:91fd62122a4b | 84 changeset: 6:91fd62122a4b |
85 tag: tip | 85 tag: tip |
86 parent: 4:64370c9805e7 | 86 parent: 5:64370c9805e7 |
87 parent: 1:c7586e2a9264 | 87 parent: 1:c7586e2a9264 |
88 user: test | 88 user: test |
89 date: Thu Jan 01 00:00:00 1970 +0000 | 89 date: Thu Jan 01 00:00:00 1970 +0000 |
90 summary: merging a and b | 90 summary: merging a and b |
91 | 91 |
94 | 94 |
95 $ hg up c7586e2a9264 | 95 $ hg up c7586e2a9264 |
96 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | 96 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
97 $ echo bar > a | 97 $ echo bar > a |
98 $ hg amend | 98 $ hg amend |
99 1 new orphan changesets | 99 1 new unstable changesets |
100 | 100 |
101 $ hg glog | 101 $ hg glog |
102 @ 6:3d41537b44ca added a | 102 @ 8:3d41537b44ca added a |
103 | () draft | 103 | () draft |
104 | o 5:91fd62122a4b merging a and b | 104 | o 6:91fd62122a4b merging a and b |
105 | |\ () draft | 105 | |\ () draft |
106 +---o 4:64370c9805e7 added b | 106 +---o 5:64370c9805e7 added b |
107 | | () draft | 107 | | () draft |
108 | x 1:c7586e2a9264 added a | 108 | x 1:c7586e2a9264 added a |
109 |/ () draft | 109 |/ () draft |
110 o 0:8fa14d15e168 added hgignore | 110 o 0:8fa14d15e168 added hgignore |
111 () draft | 111 () draft |
112 | 112 |
113 $ hg evolve --all | 113 $ hg evolve --all |
114 move:[5] merging a and b | 114 move:[6] merging a and b |
115 atop:[6] added a | 115 atop:[8] added a |
116 working directory is now at 968d205ba4d8 | 116 working directory is now at 968d205ba4d8 |
117 | 117 |
118 $ hg glog | 118 $ hg glog |
119 @ 7:968d205ba4d8 merging a and b | 119 @ 9:968d205ba4d8 merging a and b |
120 |\ () draft | 120 |\ () draft |
121 | o 6:3d41537b44ca added a | 121 | o 8:3d41537b44ca added a |
122 | | () draft | 122 | | () draft |
123 o | 4:64370c9805e7 added b | 123 o | 5:64370c9805e7 added b |
124 |/ () draft | 124 |/ () draft |
125 o 0:8fa14d15e168 added hgignore | 125 o 0:8fa14d15e168 added hgignore |
126 () draft | 126 () draft |
127 | 127 |
128 $ hg parents | 128 $ hg parents |
129 changeset: 7:968d205ba4d8 | 129 changeset: 9:968d205ba4d8 |
130 tag: tip | 130 tag: tip |
131 parent: 6:3d41537b44ca | 131 parent: 8:3d41537b44ca |
132 parent: 4:64370c9805e7 | 132 parent: 5:64370c9805e7 |
133 user: test | 133 user: test |
134 date: Thu Jan 01 00:00:00 1970 +0000 | 134 date: Thu Jan 01 00:00:00 1970 +0000 |
135 summary: merging a and b | 135 summary: merging a and b |
136 | 136 |
137 2) When merging both the parents resulted in conflicts | 137 2) When merging both the parents resulted in conflicts |
146 [0] added hgignore | 146 [0] added hgignore |
147 $ echo bar > c | 147 $ echo bar > c |
148 $ hg ci -Aqm "bar to c" | 148 $ hg ci -Aqm "bar to c" |
149 | 149 |
150 $ hg glog | 150 $ hg glog |
151 @ 9:d0f84b25d4e3 bar to c | 151 @ 11:d0f84b25d4e3 bar to c |
152 | () draft | 152 | () draft |
153 | o 8:1c165c673853 foo to c | 153 | o 10:1c165c673853 foo to c |
154 |/ () draft | 154 |/ () draft |
155 | o 7:968d205ba4d8 merging a and b | 155 | o 9:968d205ba4d8 merging a and b |
156 | |\ () draft | 156 | |\ () draft |
157 +---o 6:3d41537b44ca added a | 157 +---o 8:3d41537b44ca added a |
158 | | () draft | 158 | | () draft |
159 | o 4:64370c9805e7 added b | 159 | o 5:64370c9805e7 added b |
160 |/ () draft | 160 |/ () draft |
161 o 0:8fa14d15e168 added hgignore | 161 o 0:8fa14d15e168 added hgignore |
162 () draft | 162 () draft |
163 | 163 |
164 Prune old test changesets to have clear graph view | 164 Prune old test changesets to have clear graph view |
165 $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8 | 165 $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8 |
166 3 changesets pruned | 166 3 changesets pruned |
167 | 167 |
168 $ hg glog | 168 $ hg glog |
169 @ 9:d0f84b25d4e3 bar to c | 169 @ 11:d0f84b25d4e3 bar to c |
170 | () draft | 170 | () draft |
171 | o 8:1c165c673853 foo to c | 171 | o 10:1c165c673853 foo to c |
172 |/ () draft | 172 |/ () draft |
173 o 0:8fa14d15e168 added hgignore | 173 o 0:8fa14d15e168 added hgignore |
174 () draft | 174 () draft |
175 | 175 |
176 $ hg merge | 176 $ hg merge |
183 $ hg resolve -m | 183 $ hg resolve -m |
184 (no more unresolved files) | 184 (no more unresolved files) |
185 $ hg ci -m "foobar to c" | 185 $ hg ci -m "foobar to c" |
186 | 186 |
187 $ hg glog | 187 $ hg glog |
188 @ 10:fd41d25a3e90 foobar to c | 188 @ 12:fd41d25a3e90 foobar to c |
189 |\ () draft | 189 |\ () draft |
190 | o 9:d0f84b25d4e3 bar to c | 190 | o 11:d0f84b25d4e3 bar to c |
191 | | () draft | 191 | | () draft |
192 o | 8:1c165c673853 foo to c | 192 o | 10:1c165c673853 foo to c |
193 |/ () draft | 193 |/ () draft |
194 o 0:8fa14d15e168 added hgignore | 194 o 0:8fa14d15e168 added hgignore |
195 () draft | 195 () draft |
196 | 196 |
197 Testing with first parent obsoleted | 197 Testing with first parent obsoleted |
198 | 198 |
199 $ hg up 1c165c673853 | 199 $ hg up 1c165c673853 |
200 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 200 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
201 $ echo FOO > c | 201 $ echo FOO > c |
202 $ hg amend | 202 $ hg amend |
203 1 new orphan changesets | 203 1 new unstable changesets |
204 | 204 |
205 $ hg glog | 205 $ hg glog |
206 @ 11:31c317b7bdb1 foo to c | 206 @ 14:31c317b7bdb1 foo to c |
207 | () draft | 207 | () draft |
208 | o 10:fd41d25a3e90 foobar to c | 208 | o 12:fd41d25a3e90 foobar to c |
209 | |\ () draft | 209 | |\ () draft |
210 +---o 9:d0f84b25d4e3 bar to c | 210 +---o 11:d0f84b25d4e3 bar to c |
211 | | () draft | 211 | | () draft |
212 | x 8:1c165c673853 foo to c | 212 | x 10:1c165c673853 foo to c |
213 |/ () draft | 213 |/ () draft |
214 o 0:8fa14d15e168 added hgignore | 214 o 0:8fa14d15e168 added hgignore |
215 () draft | 215 () draft |
216 | 216 |
217 $ hg evolve --all | 217 $ hg evolve --all |
218 move:[10] foobar to c | 218 move:[12] foobar to c |
219 atop:[11] foo to c | 219 atop:[14] foo to c |
220 merging c | 220 merging c |
221 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') | 221 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') |
222 evolve failed! | 222 evolve failed! |
223 fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort | 223 fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort |
224 abort: unresolved merge conflicts (see hg help resolve) | 224 abort: unresolved merge conflicts (see hg help resolve) |
227 $ echo FOObar > c | 227 $ echo FOObar > c |
228 $ hg resolve -m | 228 $ hg resolve -m |
229 (no more unresolved files) | 229 (no more unresolved files) |
230 continue: hg evolve --continue | 230 continue: hg evolve --continue |
231 $ hg evolve --continue | 231 $ hg evolve --continue |
232 evolving 10:fd41d25a3e90 "foobar to c" | 232 evolving 12:fd41d25a3e90 "foobar to c" |
233 working directory is now at c5405d2da7a1 | 233 working directory is now at c5405d2da7a1 |
234 | 234 |
235 $ hg glog | 235 $ hg glog |
236 @ 12:c5405d2da7a1 foobar to c | 236 @ 15:c5405d2da7a1 foobar to c |
237 |\ () draft | 237 |\ () draft |
238 | o 11:31c317b7bdb1 foo to c | 238 | o 14:31c317b7bdb1 foo to c |
239 | | () draft | 239 | | () draft |
240 o | 9:d0f84b25d4e3 bar to c | 240 o | 11:d0f84b25d4e3 bar to c |
241 |/ () draft | 241 |/ () draft |
242 o 0:8fa14d15e168 added hgignore | 242 o 0:8fa14d15e168 added hgignore |
243 () draft | 243 () draft |
244 | 244 |
245 $ hg parents | 245 $ hg parents |
246 changeset: 12:c5405d2da7a1 | 246 changeset: 15:c5405d2da7a1 |
247 tag: tip | 247 tag: tip |
248 parent: 9:d0f84b25d4e3 | 248 parent: 11:d0f84b25d4e3 |
249 parent: 11:31c317b7bdb1 | 249 parent: 14:31c317b7bdb1 |
250 user: test | 250 user: test |
251 date: Thu Jan 01 00:00:00 1970 +0000 | 251 date: Thu Jan 01 00:00:00 1970 +0000 |
252 summary: foobar to c | 252 summary: foobar to c |
253 | 253 |
254 Testing a conlficting merge with second parent obsoleted | 254 Testing a conlficting merge with second parent obsoleted |
255 | 255 |
256 $ hg up 31c317b7bdb1 | 256 $ hg up 31c317b7bdb1 |
257 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 257 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
258 $ echo foo > c | 258 $ echo foo > c |
259 $ hg amend | 259 $ hg amend |
260 1 new orphan changesets | 260 1 new unstable changesets |
261 | 261 |
262 $ hg glog | 262 $ hg glog |
263 @ 13:928097d0b5b5 foo to c | 263 @ 17:928097d0b5b5 foo to c |
264 | () draft | 264 | () draft |
265 | o 12:c5405d2da7a1 foobar to c | 265 | o 15:c5405d2da7a1 foobar to c |
266 | |\ () draft | 266 | |\ () draft |
267 +---x 11:31c317b7bdb1 foo to c | 267 +---x 14:31c317b7bdb1 foo to c |
268 | | () draft | 268 | | () draft |
269 | o 9:d0f84b25d4e3 bar to c | 269 | o 11:d0f84b25d4e3 bar to c |
270 |/ () draft | 270 |/ () draft |
271 o 0:8fa14d15e168 added hgignore | 271 o 0:8fa14d15e168 added hgignore |
272 () draft | 272 () draft |
273 | 273 |
274 $ hg evolve --all | 274 $ hg evolve --all |
275 move:[12] foobar to c | 275 move:[15] foobar to c |
276 atop:[13] foo to c | 276 atop:[17] foo to c |
277 merging c | 277 merging c |
278 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') | 278 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') |
279 evolve failed! | 279 evolve failed! |
280 fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort | 280 fix conflict and run 'hg evolve --continue' or use 'hg evolve --abort' to abort |
281 abort: unresolved merge conflicts (see hg help resolve) | 281 abort: unresolved merge conflicts (see hg help resolve) |
285 $ hg resolve -m | 285 $ hg resolve -m |
286 (no more unresolved files) | 286 (no more unresolved files) |
287 continue: hg evolve --continue | 287 continue: hg evolve --continue |
288 | 288 |
289 $ hg evolve --continue | 289 $ hg evolve --continue |
290 evolving 12:c5405d2da7a1 "foobar to c" | 290 evolving 15:c5405d2da7a1 "foobar to c" |
291 working directory is now at dc1948a6eeab | 291 working directory is now at dc1948a6eeab |
292 | 292 |
293 $ hg glog | 293 $ hg glog |
294 @ 14:dc1948a6eeab foobar to c | 294 @ 18:dc1948a6eeab foobar to c |
295 |\ () draft | 295 |\ () draft |
296 | o 13:928097d0b5b5 foo to c | 296 | o 17:928097d0b5b5 foo to c |
297 | | () draft | 297 | | () draft |
298 o | 9:d0f84b25d4e3 bar to c | 298 o | 11:d0f84b25d4e3 bar to c |
299 |/ () draft | 299 |/ () draft |
300 o 0:8fa14d15e168 added hgignore | 300 o 0:8fa14d15e168 added hgignore |
301 () draft | 301 () draft |
302 | 302 |
303 3) When stabilizing other changesets resulted in orphan merge changeset | 303 3) When stabilizing other changesets resulted in orphan merge changeset |
311 $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done; | 311 $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done; |
312 $ hg up 8fa14d15e168 | 312 $ hg up 8fa14d15e168 |
313 0 files updated, 0 files merged, 2 files removed, 0 files unresolved | 313 0 files updated, 0 files merged, 2 files removed, 0 files unresolved |
314 $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done; | 314 $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done; |
315 $ hg glog | 315 $ hg glog |
316 @ 18:863d11043c67 added y | 316 @ 22:863d11043c67 added y |
317 | () draft | 317 | () draft |
318 o 17:3f2247835c1d added x | 318 o 21:3f2247835c1d added x |
319 | () draft | 319 | () draft |
320 | o 16:e44dc179e7f5 added m | 320 | o 20:e44dc179e7f5 added m |
321 | | () draft | 321 | | () draft |
322 | o 15:8634bee7bf1e added l | 322 | o 19:8634bee7bf1e added l |
323 |/ () draft | 323 |/ () draft |
324 o 0:8fa14d15e168 added hgignore | 324 o 0:8fa14d15e168 added hgignore |
325 () draft | 325 () draft |
326 | 326 |
327 $ hg merge | 327 $ hg merge |
331 | 331 |
332 $ hg up 8634bee7bf1e | 332 $ hg up 8634bee7bf1e |
333 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | 333 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
334 $ echo bar > l | 334 $ echo bar > l |
335 $ hg amend | 335 $ hg amend |
336 2 new orphan changesets | 336 2 new unstable changesets |
337 | 337 |
338 $ hg glog | 338 $ hg glog |
339 @ 20:fccc9de66799 added l | 339 @ 25:fccc9de66799 added l |
340 | () draft | 340 | () draft |
341 | o 19:190763373d8b merge commit | 341 | o 23:190763373d8b merge commit |
342 | |\ () draft | 342 | |\ () draft |
343 | | o 18:863d11043c67 added y | 343 | | o 22:863d11043c67 added y |
344 | | | () draft | 344 | | | () draft |
345 +---o 17:3f2247835c1d added x | 345 +---o 21:3f2247835c1d added x |
346 | | () draft | 346 | | () draft |
347 | o 16:e44dc179e7f5 added m | 347 | o 20:e44dc179e7f5 added m |
348 | | () draft | 348 | | () draft |
349 | x 15:8634bee7bf1e added l | 349 | x 19:8634bee7bf1e added l |
350 |/ () draft | 350 |/ () draft |
351 o 0:8fa14d15e168 added hgignore | 351 o 0:8fa14d15e168 added hgignore |
352 () draft | 352 () draft |
353 $ hg evolve --all | 353 $ hg evolve --all |
354 move:[16] added m | 354 move:[20] added m |
355 atop:[20] added l | 355 atop:[25] added l |
356 move:[19] merge commit | 356 move:[23] merge commit |
357 atop:[21] added m | 357 atop:[26] added m |
358 working directory is now at a446ad3e6700 | 358 working directory is now at a446ad3e6700 |
359 | 359 |
360 $ hg glog | 360 $ hg glog |
361 @ 22:a446ad3e6700 merge commit | 361 @ 27:a446ad3e6700 merge commit |
362 |\ () draft | 362 |\ () draft |
363 | o 21:495d2039f8f1 added m | 363 | o 26:495d2039f8f1 added m |
364 | | () draft | 364 | | () draft |
365 | o 20:fccc9de66799 added l | 365 | o 25:fccc9de66799 added l |
366 | | () draft | 366 | | () draft |
367 o | 18:863d11043c67 added y | 367 o | 22:863d11043c67 added y |
368 | | () draft | 368 | | () draft |
369 o | 17:3f2247835c1d added x | 369 o | 21:3f2247835c1d added x |
370 |/ () draft | 370 |/ () draft |
371 o 0:8fa14d15e168 added hgignore | 371 o 0:8fa14d15e168 added hgignore |
372 () draft | 372 () draft |
373 | 373 |
374 4) When both the parents of the merge changeset are obsolete with a succ | 374 4) When both the parents of the merge changeset are obsolete with a succ |
378 0 files updated, 0 files merged, 3 files removed, 0 files unresolved | 378 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
379 working directory now at fccc9de66799 | 379 working directory now at fccc9de66799 |
380 3 changesets pruned | 380 3 changesets pruned |
381 | 381 |
382 $ hg glog | 382 $ hg glog |
383 @ 20:fccc9de66799 added l | 383 @ 25:fccc9de66799 added l |
384 | () draft | 384 | () draft |
385 | o 17:3f2247835c1d added x | 385 | o 21:3f2247835c1d added x |
386 |/ () draft | 386 |/ () draft |
387 o 0:8fa14d15e168 added hgignore | 387 o 0:8fa14d15e168 added hgignore |
388 () draft | 388 () draft |
389 | 389 |
390 $ hg merge | 390 $ hg merge |
394 | 394 |
395 $ hg up fccc9de66799 | 395 $ hg up fccc9de66799 |
396 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | 396 0 files updated, 0 files merged, 1 files removed, 0 files unresolved |
397 $ echo foobar > l | 397 $ echo foobar > l |
398 $ hg amend | 398 $ hg amend |
399 1 new orphan changesets | 399 1 new unstable changesets |
400 $ hg up 3f2247835c1d | 400 $ hg up 3f2247835c1d |
401 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | 401 1 files updated, 0 files merged, 1 files removed, 0 files unresolved |
402 $ echo bar > x | 402 $ echo bar > x |
403 $ hg amend | 403 $ hg amend |
404 $ hg glog | 404 $ hg glog |
405 @ 25:cdf6547da25f added x | 405 @ 32:cdf6547da25f added x |
406 | () draft | 406 | () draft |
407 | o 24:3f371171d767 added l | 407 | o 30:3f371171d767 added l |
408 |/ () draft | 408 |/ () draft |
409 | o 23:7b78a9784f3e merged l and x | 409 | o 28:7b78a9784f3e merged l and x |
410 | |\ () draft | 410 | |\ () draft |
411 +---x 20:fccc9de66799 added l | 411 +---x 25:fccc9de66799 added l |
412 | | () draft | 412 | | () draft |
413 | x 17:3f2247835c1d added x | 413 | x 21:3f2247835c1d added x |
414 |/ () draft | 414 |/ () draft |
415 o 0:8fa14d15e168 added hgignore | 415 o 0:8fa14d15e168 added hgignore |
416 () draft | 416 () draft |
417 | 417 |
418 XXX: We should handle this case too | 418 XXX: We should handle this case too |
419 $ hg evolve --all | 419 $ hg evolve --all |
420 move:[23] merged l and x | 420 move:[28] merged l and x |
421 atop:[25] added x | 421 atop:[32] added x |
422 move:[26] merged l and x | 422 move:[33] merged l and x |
423 atop:[24] added l | 423 atop:[30] added l |
424 working directory is now at adb665a78e08 | 424 working directory is now at adb665a78e08 |
425 | 425 |
426 $ hg glog | 426 $ hg glog |
427 @ 27:adb665a78e08 merged l and x | 427 @ 34:adb665a78e08 merged l and x |
428 |\ () draft | 428 |\ () draft |
429 | o 25:cdf6547da25f added x | 429 | o 32:cdf6547da25f added x |
430 | | () draft | 430 | | () draft |
431 o | 24:3f371171d767 added l | 431 o | 30:3f371171d767 added l |
432 |/ () draft | 432 |/ () draft |
433 o 0:8fa14d15e168 added hgignore | 433 o 0:8fa14d15e168 added hgignore |
434 () draft | 434 () draft |
435 | 435 |
436 $ hg exp | 436 $ hg exp |
448 +++ b/x Thu Jan 01 00:00:00 1970 +0000 | 448 +++ b/x Thu Jan 01 00:00:00 1970 +0000 |
449 @@ -0,0 +1,1 @@ | 449 @@ -0,0 +1,1 @@ |
450 +bar | 450 +bar |
451 | 451 |
452 $ hg parents | 452 $ hg parents |
453 changeset: 27:adb665a78e08 | 453 changeset: 34:adb665a78e08 |
454 tag: tip | 454 tag: tip |
455 parent: 24:3f371171d767 | 455 parent: 30:3f371171d767 |
456 parent: 25:cdf6547da25f | 456 parent: 32:cdf6547da25f |
457 user: test | 457 user: test |
458 date: Thu Jan 01 00:00:00 1970 +0000 | 458 date: Thu Jan 01 00:00:00 1970 +0000 |
459 summary: merged l and x | 459 summary: merged l and x |
460 | 460 |
461 | 461 |
462 5) When one of the merge parent is pruned without a successor | 462 5) When one of the merge parent is pruned without a successor |
463 ------------------------------------------------------------- | 463 ------------------------------------------------------------- |
464 | 464 |
465 $ hg prune -r cdf6547da25f | 465 $ hg prune -r cdf6547da25f |
466 1 changesets pruned | 466 1 changesets pruned |
467 1 new orphan changesets | 467 1 new unstable changesets |
468 $ hg glog | 468 $ hg glog |
469 @ 27:adb665a78e08 merged l and x | 469 @ 34:adb665a78e08 merged l and x |
470 |\ () draft | 470 |\ () draft |
471 | x 25:cdf6547da25f added x | 471 | x 32:cdf6547da25f added x |
472 | | () draft | 472 | | () draft |
473 o | 24:3f371171d767 added l | 473 o | 30:3f371171d767 added l |
474 |/ () draft | 474 |/ () draft |
475 o 0:8fa14d15e168 added hgignore | 475 o 0:8fa14d15e168 added hgignore |
476 () draft | 476 () draft |
477 | 477 |
478 $ hg evolve --rev . | 478 $ hg evolve --rev . |
479 move:[27] merged l and x | 479 move:[34] merged l and x |
480 atop:[0] added hgignore | 480 atop:[0] added hgignore |
481 working directory is now at fb8fe870ae7d | 481 working directory is now at fb8fe870ae7d |
482 | 482 |
483 $ hg glog | 483 $ hg glog |
484 @ 28:fb8fe870ae7d merged l and x | 484 @ 35:fb8fe870ae7d merged l and x |
485 |\ () draft | 485 |\ () draft |
486 | o 24:3f371171d767 added l | 486 | o 30:3f371171d767 added l |
487 |/ () draft | 487 |/ () draft |
488 o 0:8fa14d15e168 added hgignore | 488 o 0:8fa14d15e168 added hgignore |
489 () draft | 489 () draft |
490 | 490 |
491 6) When one parent is pruned without successor and the other parent of merge is | 491 6) When one parent is pruned without successor and the other parent of merge is |
492 the parent of the pruned commit | 492 the parent of the pruned commit |
493 -------------------------------------------------------------------------------- | 493 -------------------------------------------------------------------------------- |
494 | 494 |
495 $ hg glog | 495 $ hg glog |
496 @ 28:fb8fe870ae7d merged l and x | 496 @ 35:fb8fe870ae7d merged l and x |
497 |\ () draft | 497 |\ () draft |
498 | o 24:3f371171d767 added l | 498 | o 30:3f371171d767 added l |
499 |/ () draft | 499 |/ () draft |
500 o 0:8fa14d15e168 added hgignore | 500 o 0:8fa14d15e168 added hgignore |
501 () draft | 501 () draft |
502 | 502 |
503 $ hg prune -r 3f371171d767 | 503 $ hg prune -r 3f371171d767 |
504 1 changesets pruned | 504 1 changesets pruned |
505 1 new orphan changesets | 505 1 new unstable changesets |
506 | 506 |
507 $ hg glog | 507 $ hg glog |
508 @ 28:fb8fe870ae7d merged l and x | 508 @ 35:fb8fe870ae7d merged l and x |
509 |\ () draft | 509 |\ () draft |
510 | x 24:3f371171d767 added l | 510 | x 30:3f371171d767 added l |
511 |/ () draft | 511 |/ () draft |
512 o 0:8fa14d15e168 added hgignore | 512 o 0:8fa14d15e168 added hgignore |
513 () draft | 513 () draft |
514 | 514 |
515 This is the right thing to do here. When you have a merge changeset, and one | 515 This is the right thing to do here. When you have a merge changeset, and one |
531 that branch and they prune all their changeset, which will result in this | 531 that branch and they prune all their changeset, which will result in this |
532 case where merge commit becomes orphan with its ancestors pruned up until a | 532 case where merge commit becomes orphan with its ancestors pruned up until a |
533 point where the other parent of merge is the first non-pruned ancestor. | 533 point where the other parent of merge is the first non-pruned ancestor. |
534 | 534 |
535 $ hg evolve -r . | 535 $ hg evolve -r . |
536 move:[28] merged l and x | 536 move:[35] merged l and x |
537 atop:[0] added hgignore | 537 atop:[0] added hgignore |
538 working directory is now at b61ba77b924a | 538 working directory is now at b61ba77b924a |
539 | 539 |
540 $ hg glog | 540 $ hg glog |
541 @ 29:b61ba77b924a merged l and x | 541 @ 36:b61ba77b924a merged l and x |
542 | () draft | 542 | () draft |
543 o 0:8fa14d15e168 added hgignore | 543 o 0:8fa14d15e168 added hgignore |
544 () draft | 544 () draft |
545 | 545 |
546 7) When one parent is pruned without successor and has no parent | 546 7) When one parent is pruned without successor and has no parent |
561 $ hg merge | 561 $ hg merge |
562 1 files updated, 0 files merged, 0 files removed, 0 files unresolved | 562 1 files updated, 0 files merged, 0 files removed, 0 files unresolved |
563 (branch merge, don't forget to commit) | 563 (branch merge, don't forget to commit) |
564 $ hg ci -m "merge commit" | 564 $ hg ci -m "merge commit" |
565 $ hg glog | 565 $ hg glog |
566 @ 31:32beb84b9dbc merge commit | 566 @ 38:32beb84b9dbc merge commit |
567 |\ () draft | 567 |\ () draft |
568 | o 30:f3ba8b99bb6f added foo | 568 | o 37:f3ba8b99bb6f added foo |
569 | () draft | 569 | () draft |
570 o 0:8fa14d15e168 added hgignore | 570 o 0:8fa14d15e168 added hgignore |
571 () draft | 571 () draft |
572 | 572 |
573 $ hg prune -r f3ba8b99bb6f | 573 $ hg prune -r f3ba8b99bb6f |
574 1 changesets pruned | 574 1 changesets pruned |
575 1 new orphan changesets | 575 1 new unstable changesets |
576 | 576 |
577 $ hg glog | 577 $ hg glog |
578 @ 31:32beb84b9dbc merge commit | 578 @ 38:32beb84b9dbc merge commit |
579 |\ () draft | 579 |\ () draft |
580 | x 30:f3ba8b99bb6f added foo | 580 | x 37:f3ba8b99bb6f added foo |
581 | () draft | 581 | () draft |
582 o 0:8fa14d15e168 added hgignore | 582 o 0:8fa14d15e168 added hgignore |
583 () draft | 583 () draft |
584 | 584 |
585 The current behavior seems to be the correct behavior in the above case. This is | 585 The current behavior seems to be the correct behavior in the above case. This is |
593 | 593 |
594 becomes redundant as the changeset is pruned without successor and we should | 594 becomes redundant as the changeset is pruned without successor and we should |
595 just remove that chain. | 595 just remove that chain. |
596 | 596 |
597 $ hg evolve -r . | 597 $ hg evolve -r . |
598 move:[31] merge commit | 598 move:[38] merge commit |
599 atop:[-1] | 599 atop:[-1] |
600 working directory is now at d2a03dd8c951 | 600 working directory is now at d2a03dd8c951 |
601 | 601 |
602 $ hg glog | 602 $ hg glog |
603 @ 32:d2a03dd8c951 merge commit | 603 @ 39:d2a03dd8c951 merge commit |
604 | () draft | 604 | () draft |
605 o 0:8fa14d15e168 added hgignore | 605 o 0:8fa14d15e168 added hgignore |
606 () draft | 606 () draft |