hgext3rd/evolve/evolvecmd.py
changeset 3822 cb060c408b41
parent 3821 f67ac33c07d2
child 3824 a8f509981d30
equal deleted inserted replaced
3821:f67ac33c07d2 3822:cb060c408b41
  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