comparison tests/test-evolve-orphan-merge.t @ 3591:98941c28f3e2 mercurial-4.3

test-compat: merge mercurial-4.4 into mercurial-4.3
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Wed, 21 Mar 2018 16:18:31 +0100
parents d5adce52cef4
children a77fb9669e99
comparison
equal deleted inserted replaced
3590:d5adce52cef4 3591:98941c28f3e2
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 update -C .' to abort 223 fix conflict and run 'hg evolve --continue' or use 'hg update -C .' 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 update -C .' to abort 280 fix conflict and run 'hg evolve --continue' or use 'hg update -C .' 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