1545 evolvestate['category'] == 'orphan'): |
1545 evolvestate['category'] == 'orphan'): |
1546 _completeorphan(ui, repo, evolvestate) |
1546 _completeorphan(ui, repo, evolvestate) |
1547 elif evolvestate['category'] == 'phasedivergent': |
1547 elif evolvestate['category'] == 'phasedivergent': |
1548 _completephasedivergent(ui, repo, evolvestate) |
1548 _completephasedivergent(ui, repo, evolvestate) |
1549 elif evolvestate['category'] == 'contentdivergent': |
1549 elif evolvestate['category'] == 'contentdivergent': |
1550 tr = None |
1550 _continuecontentdivergent(ui, repo, evolvestate, progresscb) |
1551 try: |
|
1552 tr = repo.transaction('evolve') |
|
1553 divergent = evolvestate['divergent'] |
|
1554 other = evolvestate['other-divergent'] |
|
1555 base = evolvestate['base'] |
|
1556 repo = repo.unfiltered() |
|
1557 ret = _completecontentdivergent(ui, repo, progresscb, |
|
1558 repo[divergent], |
|
1559 repo[other], |
|
1560 repo[base], |
|
1561 evolvestate) |
|
1562 evolvestate['replacements'][divergent] = ret[1] |
|
1563 tr.close() |
|
1564 finally: |
|
1565 tr.release() |
|
1566 else: |
1551 else: |
1567 repo.ui.status(_("continuing interrupted '%s' resolution is not yet" |
1552 repo.ui.status(_("continuing interrupted '%s' resolution is not yet" |
1568 " supported\n") % evolvestate['category']) |
1553 " supported\n") % evolvestate['category']) |
1569 return |
1554 return |
1570 |
1555 |
1583 if newnode[0]: |
1568 if newnode[0]: |
1584 evolvestate['replacements'][curctx.node()] = newnode[1] |
1569 evolvestate['replacements'][curctx.node()] = newnode[1] |
1585 else: |
1570 else: |
1586 evolvestate['skippedrevs'].append(curctx.node()) |
1571 evolvestate['skippedrevs'].append(curctx.node()) |
1587 return |
1572 return |
|
1573 |
|
1574 def _continuecontentdivergent(ui, repo, evolvestate, progresscb): |
|
1575 """function to continue the interrupted content-divergence resolution.""" |
|
1576 tr = None |
|
1577 try: |
|
1578 tr = repo.transaction('evolve') |
|
1579 divergent = evolvestate['divergent'] |
|
1580 other = evolvestate['other-divergent'] |
|
1581 base = evolvestate['base'] |
|
1582 repo = repo.unfiltered() |
|
1583 ret = _completecontentdivergent(ui, repo, progresscb, |
|
1584 repo[divergent], |
|
1585 repo[other], |
|
1586 repo[base], |
|
1587 evolvestate) |
|
1588 evolvestate['replacements'][divergent] = ret[1] |
|
1589 tr.close() |
|
1590 finally: |
|
1591 tr.release() |
1588 |
1592 |
1589 def _completephasedivergent(ui, repo, evolvestate): |
1593 def _completephasedivergent(ui, repo, evolvestate): |
1590 """function to complete the interrupted phase-divergence resolution. |
1594 """function to complete the interrupted phase-divergence resolution. |
1591 |
1595 |
1592 First completes the relocation of the commit and then process resolving |
1596 First completes the relocation of the commit and then process resolving |