comparison tests/test-evolve-orphan-merge.t @ 3936:537fd9a86c06 mercurial-4.3

test-compat: merge mercurial-4.4 into mercurial-4.3
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 03 Aug 2018 00:22:50 +0200
parents a77fb9669e99 d00f0c369bc7
children e07e764c0f48
comparison
equal deleted inserted replaced
3935:9af0e2b0bdd7 3936:537fd9a86c06
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 fix conflicts and see `hg help evolve.interrupted` 222 fix conflicts and see `hg help evolve.interrupted`
223 [1] 223 [1]
224 224
225 $ echo FOObar > c 225 $ echo FOObar > c
226 $ hg resolve -m 226 $ hg resolve -m
227 (no more unresolved files) 227 (no more unresolved files)
228 continue: hg evolve --continue 228 continue: hg evolve --continue
229 $ hg evolve --continue 229 $ hg evolve --continue
230 evolving 10:fd41d25a3e90 "foobar to c" 230 evolving 12:fd41d25a3e90 "foobar to c"
231 working directory is now at c5405d2da7a1 231 working directory is now at c5405d2da7a1
232 232
233 $ hg glog 233 $ hg glog
234 @ 12:c5405d2da7a1 foobar to c 234 @ 15:c5405d2da7a1 foobar to c
235 |\ () draft 235 |\ () draft
236 | o 11:31c317b7bdb1 foo to c 236 | o 14:31c317b7bdb1 foo to c
237 | | () draft 237 | | () draft
238 o | 9:d0f84b25d4e3 bar to c 238 o | 11:d0f84b25d4e3 bar to c
239 |/ () draft 239 |/ () draft
240 o 0:8fa14d15e168 added hgignore 240 o 0:8fa14d15e168 added hgignore
241 () draft 241 () draft
242 242
243 $ hg parents 243 $ hg parents
244 changeset: 12:c5405d2da7a1 244 changeset: 15:c5405d2da7a1
245 tag: tip 245 tag: tip
246 parent: 9:d0f84b25d4e3 246 parent: 11:d0f84b25d4e3
247 parent: 11:31c317b7bdb1 247 parent: 14:31c317b7bdb1
248 user: test 248 user: test
249 date: Thu Jan 01 00:00:00 1970 +0000 249 date: Thu Jan 01 00:00:00 1970 +0000
250 summary: foobar to c 250 summary: foobar to c
251 251
252 Testing a conlficting merge with second parent obsoleted 252 Testing a conlficting merge with second parent obsoleted
253 253
254 $ hg up 31c317b7bdb1 254 $ hg up 31c317b7bdb1
255 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 255 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
256 $ echo foo > c 256 $ echo foo > c
257 $ hg amend 257 $ hg amend
258 1 new orphan changesets 258 1 new unstable changesets
259 259
260 $ hg glog 260 $ hg glog
261 @ 13:928097d0b5b5 foo to c 261 @ 17:928097d0b5b5 foo to c
262 | () draft 262 | () draft
263 | o 12:c5405d2da7a1 foobar to c 263 | o 15:c5405d2da7a1 foobar to c
264 | |\ () draft 264 | |\ () draft
265 +---x 11:31c317b7bdb1 foo to c 265 +---x 14:31c317b7bdb1 foo to c
266 | | () draft 266 | | () draft
267 | o 9:d0f84b25d4e3 bar to c 267 | o 11:d0f84b25d4e3 bar to c
268 |/ () draft 268 |/ () draft
269 o 0:8fa14d15e168 added hgignore 269 o 0:8fa14d15e168 added hgignore
270 () draft 270 () draft
271 271
272 $ hg evolve --all 272 $ hg evolve --all
273 move:[12] foobar to c 273 move:[15] foobar to c
274 atop:[13] foo to c 274 atop:[17] foo to c
275 merging c 275 merging c
276 warning: conflicts while merging c! (edit, then use 'hg resolve --mark') 276 warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
277 fix conflicts and see `hg help evolve.interrupted` 277 fix conflicts and see `hg help evolve.interrupted`
278 [1] 278 [1]
279 279
281 $ hg resolve -m 281 $ hg resolve -m
282 (no more unresolved files) 282 (no more unresolved files)
283 continue: hg evolve --continue 283 continue: hg evolve --continue
284 284
285 $ hg evolve --continue 285 $ hg evolve --continue
286 evolving 12:c5405d2da7a1 "foobar to c" 286 evolving 15:c5405d2da7a1 "foobar to c"
287 working directory is now at dc1948a6eeab 287 working directory is now at dc1948a6eeab
288 288
289 $ hg glog 289 $ hg glog
290 @ 14:dc1948a6eeab foobar to c 290 @ 18:dc1948a6eeab foobar to c
291 |\ () draft 291 |\ () draft
292 | o 13:928097d0b5b5 foo to c 292 | o 17:928097d0b5b5 foo to c
293 | | () draft 293 | | () draft
294 o | 9:d0f84b25d4e3 bar to c 294 o | 11:d0f84b25d4e3 bar to c
295 |/ () draft 295 |/ () draft
296 o 0:8fa14d15e168 added hgignore 296 o 0:8fa14d15e168 added hgignore
297 () draft 297 () draft
298 298
299 3) When stabilizing other changesets resulted in orphan merge changeset 299 3) When stabilizing other changesets resulted in orphan merge changeset
307 $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done; 307 $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
308 $ hg up 8fa14d15e168 308 $ hg up 8fa14d15e168
309 0 files updated, 0 files merged, 2 files removed, 0 files unresolved 309 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
310 $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done; 310 $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
311 $ hg glog 311 $ hg glog
312 @ 18:863d11043c67 added y 312 @ 22:863d11043c67 added y
313 | () draft 313 | () draft
314 o 17:3f2247835c1d added x 314 o 21:3f2247835c1d added x
315 | () draft 315 | () draft
316 | o 16:e44dc179e7f5 added m 316 | o 20:e44dc179e7f5 added m
317 | | () draft 317 | | () draft
318 | o 15:8634bee7bf1e added l 318 | o 19:8634bee7bf1e added l
319 |/ () draft 319 |/ () draft
320 o 0:8fa14d15e168 added hgignore 320 o 0:8fa14d15e168 added hgignore
321 () draft 321 () draft
322 322
323 $ hg merge 323 $ hg merge
327 327
328 $ hg up 8634bee7bf1e 328 $ hg up 8634bee7bf1e
329 0 files updated, 0 files merged, 3 files removed, 0 files unresolved 329 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
330 $ echo bar > l 330 $ echo bar > l
331 $ hg amend 331 $ hg amend
332 2 new orphan changesets 332 2 new unstable changesets
333 333
334 $ hg glog 334 $ hg glog
335 @ 20:fccc9de66799 added l 335 @ 25:fccc9de66799 added l
336 | () draft 336 | () draft
337 | o 19:190763373d8b merge commit 337 | o 23:190763373d8b merge commit
338 | |\ () draft 338 | |\ () draft
339 | | o 18:863d11043c67 added y 339 | | o 22:863d11043c67 added y
340 | | | () draft 340 | | | () draft
341 +---o 17:3f2247835c1d added x 341 +---o 21:3f2247835c1d added x
342 | | () draft 342 | | () draft
343 | o 16:e44dc179e7f5 added m 343 | o 20:e44dc179e7f5 added m
344 | | () draft 344 | | () draft
345 | x 15:8634bee7bf1e added l 345 | x 19:8634bee7bf1e added l
346 |/ () draft 346 |/ () draft
347 o 0:8fa14d15e168 added hgignore 347 o 0:8fa14d15e168 added hgignore
348 () draft 348 () draft
349 $ hg evolve --all 349 $ hg evolve --all
350 move:[16] added m 350 move:[20] added m
351 atop:[20] added l 351 atop:[25] added l
352 move:[19] merge commit 352 move:[23] merge commit
353 atop:[21] added m 353 atop:[26] added m
354 working directory is now at a446ad3e6700 354 working directory is now at a446ad3e6700
355 355
356 $ hg glog 356 $ hg glog
357 @ 22:a446ad3e6700 merge commit 357 @ 27:a446ad3e6700 merge commit
358 |\ () draft 358 |\ () draft
359 | o 21:495d2039f8f1 added m 359 | o 26:495d2039f8f1 added m
360 | | () draft 360 | | () draft
361 | o 20:fccc9de66799 added l 361 | o 25:fccc9de66799 added l
362 | | () draft 362 | | () draft
363 o | 18:863d11043c67 added y 363 o | 22:863d11043c67 added y
364 | | () draft 364 | | () draft
365 o | 17:3f2247835c1d added x 365 o | 21:3f2247835c1d added x
366 |/ () draft 366 |/ () draft
367 o 0:8fa14d15e168 added hgignore 367 o 0:8fa14d15e168 added hgignore
368 () draft 368 () draft
369 369
370 4) When both the parents of the merge changeset are obsolete with a succ 370 4) When both the parents of the merge changeset are obsolete with a succ
374 0 files updated, 0 files merged, 3 files removed, 0 files unresolved 374 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
375 working directory now at fccc9de66799 375 working directory now at fccc9de66799
376 3 changesets pruned 376 3 changesets pruned
377 377
378 $ hg glog 378 $ hg glog
379 @ 20:fccc9de66799 added l 379 @ 25:fccc9de66799 added l
380 | () draft 380 | () draft
381 | o 17:3f2247835c1d added x 381 | o 21:3f2247835c1d added x
382 |/ () draft 382 |/ () draft
383 o 0:8fa14d15e168 added hgignore 383 o 0:8fa14d15e168 added hgignore
384 () draft 384 () draft
385 385
386 $ hg merge 386 $ hg merge
390 390
391 $ hg up fccc9de66799 391 $ hg up fccc9de66799
392 0 files updated, 0 files merged, 1 files removed, 0 files unresolved 392 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
393 $ echo foobar > l 393 $ echo foobar > l
394 $ hg amend 394 $ hg amend
395 1 new orphan changesets 395 1 new unstable changesets
396 $ hg up 3f2247835c1d 396 $ hg up 3f2247835c1d
397 1 files updated, 0 files merged, 1 files removed, 0 files unresolved 397 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
398 $ echo bar > x 398 $ echo bar > x
399 $ hg amend 399 $ hg amend
400 $ hg glog 400 $ hg glog
401 @ 25:cdf6547da25f added x 401 @ 32:cdf6547da25f added x
402 | () draft 402 | () draft
403 | o 24:3f371171d767 added l 403 | o 30:3f371171d767 added l
404 |/ () draft 404 |/ () draft
405 | o 23:7b78a9784f3e merged l and x 405 | o 28:7b78a9784f3e merged l and x
406 | |\ () draft 406 | |\ () draft
407 +---x 20:fccc9de66799 added l 407 +---x 25:fccc9de66799 added l
408 | | () draft 408 | | () draft
409 | x 17:3f2247835c1d added x 409 | x 21:3f2247835c1d added x
410 |/ () draft 410 |/ () draft
411 o 0:8fa14d15e168 added hgignore 411 o 0:8fa14d15e168 added hgignore
412 () draft 412 () draft
413 413
414 XXX: We should handle this case too 414 XXX: We should handle this case too
415 $ hg evolve --all 415 $ hg evolve --all
416 move:[23] merged l and x 416 move:[28] merged l and x
417 atop:[25] added x 417 atop:[32] added x
418 move:[26] merged l and x 418 move:[33] merged l and x
419 atop:[24] added l 419 atop:[30] added l
420 working directory is now at adb665a78e08 420 working directory is now at adb665a78e08
421 421
422 $ hg glog 422 $ hg glog
423 @ 27:adb665a78e08 merged l and x 423 @ 34:adb665a78e08 merged l and x
424 |\ () draft 424 |\ () draft
425 | o 25:cdf6547da25f added x 425 | o 32:cdf6547da25f added x
426 | | () draft 426 | | () draft
427 o | 24:3f371171d767 added l 427 o | 30:3f371171d767 added l
428 |/ () draft 428 |/ () draft
429 o 0:8fa14d15e168 added hgignore 429 o 0:8fa14d15e168 added hgignore
430 () draft 430 () draft
431 431
432 $ hg exp 432 $ hg exp
444 +++ b/x Thu Jan 01 00:00:00 1970 +0000 444 +++ b/x Thu Jan 01 00:00:00 1970 +0000
445 @@ -0,0 +1,1 @@ 445 @@ -0,0 +1,1 @@
446 +bar 446 +bar
447 447
448 $ hg parents 448 $ hg parents
449 changeset: 27:adb665a78e08 449 changeset: 34:adb665a78e08
450 tag: tip 450 tag: tip
451 parent: 24:3f371171d767 451 parent: 30:3f371171d767
452 parent: 25:cdf6547da25f 452 parent: 32:cdf6547da25f
453 user: test 453 user: test
454 date: Thu Jan 01 00:00:00 1970 +0000 454 date: Thu Jan 01 00:00:00 1970 +0000
455 summary: merged l and x 455 summary: merged l and x
456 456
457 457
458 5) When one of the merge parent is pruned without a successor 458 5) When one of the merge parent is pruned without a successor
459 ------------------------------------------------------------- 459 -------------------------------------------------------------
460 460
461 $ hg prune -r cdf6547da25f 461 $ hg prune -r cdf6547da25f
462 1 changesets pruned 462 1 changesets pruned
463 1 new orphan changesets 463 1 new unstable changesets
464 $ hg glog 464 $ hg glog
465 @ 27:adb665a78e08 merged l and x 465 @ 34:adb665a78e08 merged l and x
466 |\ () draft 466 |\ () draft
467 | x 25:cdf6547da25f added x 467 | x 32:cdf6547da25f added x
468 | | () draft 468 | | () draft
469 o | 24:3f371171d767 added l 469 o | 30:3f371171d767 added l
470 |/ () draft 470 |/ () draft
471 o 0:8fa14d15e168 added hgignore 471 o 0:8fa14d15e168 added hgignore
472 () draft 472 () draft
473 473
474 $ hg evolve --rev . 474 $ hg evolve --rev .
475 move:[27] merged l and x 475 move:[34] merged l and x
476 atop:[0] added hgignore 476 atop:[0] added hgignore
477 working directory is now at fb8fe870ae7d 477 working directory is now at fb8fe870ae7d
478 478
479 $ hg glog 479 $ hg glog
480 @ 28:fb8fe870ae7d merged l and x 480 @ 35:fb8fe870ae7d merged l and x
481 |\ () draft 481 |\ () draft
482 | o 24:3f371171d767 added l 482 | o 30:3f371171d767 added l
483 |/ () draft 483 |/ () draft
484 o 0:8fa14d15e168 added hgignore 484 o 0:8fa14d15e168 added hgignore
485 () draft 485 () draft
486 486
487 6) When one parent is pruned without successor and the other parent of merge is 487 6) When one parent is pruned without successor and the other parent of merge is
488 the parent of the pruned commit 488 the parent of the pruned commit
489 -------------------------------------------------------------------------------- 489 --------------------------------------------------------------------------------
490 490
491 $ hg glog 491 $ hg glog
492 @ 28:fb8fe870ae7d merged l and x 492 @ 35:fb8fe870ae7d merged l and x
493 |\ () draft 493 |\ () draft
494 | o 24:3f371171d767 added l 494 | o 30:3f371171d767 added l
495 |/ () draft 495 |/ () draft
496 o 0:8fa14d15e168 added hgignore 496 o 0:8fa14d15e168 added hgignore
497 () draft 497 () draft
498 498
499 $ hg prune -r 3f371171d767 499 $ hg prune -r 3f371171d767
500 1 changesets pruned 500 1 changesets pruned
501 1 new orphan changesets 501 1 new unstable changesets
502 502
503 $ hg glog 503 $ hg glog
504 @ 28:fb8fe870ae7d merged l and x 504 @ 35:fb8fe870ae7d merged l and x
505 |\ () draft 505 |\ () draft
506 | x 24:3f371171d767 added l 506 | x 30:3f371171d767 added l
507 |/ () draft 507 |/ () draft
508 o 0:8fa14d15e168 added hgignore 508 o 0:8fa14d15e168 added hgignore
509 () draft 509 () draft
510 510
511 This is the right thing to do here. When you have a merge changeset, and one 511 This is the right thing to do here. When you have a merge changeset, and one
527 that branch and they prune all their changeset, which will result in this 527 that branch and they prune all their changeset, which will result in this
528 case where merge commit becomes orphan with its ancestors pruned up until a 528 case where merge commit becomes orphan with its ancestors pruned up until a
529 point where the other parent of merge is the first non-pruned ancestor. 529 point where the other parent of merge is the first non-pruned ancestor.
530 530
531 $ hg evolve -r . 531 $ hg evolve -r .
532 move:[28] merged l and x 532 move:[35] merged l and x
533 atop:[0] added hgignore 533 atop:[0] added hgignore
534 working directory is now at b61ba77b924a 534 working directory is now at b61ba77b924a
535 535
536 $ hg glog 536 $ hg glog
537 @ 29:b61ba77b924a merged l and x 537 @ 36:b61ba77b924a merged l and x
538 | () draft 538 | () draft
539 o 0:8fa14d15e168 added hgignore 539 o 0:8fa14d15e168 added hgignore
540 () draft 540 () draft
541 541
542 7) When one parent is pruned without successor and has no parent 542 7) When one parent is pruned without successor and has no parent
557 $ hg merge 557 $ hg merge
558 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 558 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
559 (branch merge, don't forget to commit) 559 (branch merge, don't forget to commit)
560 $ hg ci -m "merge commit" 560 $ hg ci -m "merge commit"
561 $ hg glog 561 $ hg glog
562 @ 31:32beb84b9dbc merge commit 562 @ 38:32beb84b9dbc merge commit
563 |\ () draft 563 |\ () draft
564 | o 30:f3ba8b99bb6f added foo 564 | o 37:f3ba8b99bb6f added foo
565 | () draft 565 | () draft
566 o 0:8fa14d15e168 added hgignore 566 o 0:8fa14d15e168 added hgignore
567 () draft 567 () draft
568 568
569 $ hg prune -r f3ba8b99bb6f 569 $ hg prune -r f3ba8b99bb6f
570 1 changesets pruned 570 1 changesets pruned
571 1 new orphan changesets 571 1 new unstable changesets
572 572
573 $ hg glog 573 $ hg glog
574 @ 31:32beb84b9dbc merge commit 574 @ 38:32beb84b9dbc merge commit
575 |\ () draft 575 |\ () draft
576 | x 30:f3ba8b99bb6f added foo 576 | x 37:f3ba8b99bb6f added foo
577 | () draft 577 | () draft
578 o 0:8fa14d15e168 added hgignore 578 o 0:8fa14d15e168 added hgignore
579 () draft 579 () draft
580 580
581 The current behavior seems to be the correct behavior in the above case. This is 581 The current behavior seems to be the correct behavior in the above case. This is
589 589
590 becomes redundant as the changeset is pruned without successor and we should 590 becomes redundant as the changeset is pruned without successor and we should
591 just remove that chain. 591 just remove that chain.
592 592
593 $ hg evolve -r . 593 $ hg evolve -r .
594 move:[31] merge commit 594 move:[38] merge commit
595 atop:[-1] 595 atop:[-1]
596 working directory is now at d2a03dd8c951 596 working directory is now at d2a03dd8c951
597 597
598 $ hg glog 598 $ hg glog
599 @ 32:d2a03dd8c951 merge commit 599 @ 39:d2a03dd8c951 merge commit
600 | () draft 600 | () draft
601 o 0:8fa14d15e168 added hgignore 601 o 0:8fa14d15e168 added hgignore
602 () draft 602 () draft