hgext3rd/evolve/evolvecmd.py
changeset 3754 73ee40cbfb53
parent 3753 a558c8adc5af
child 3755 a19703c6d2bb
equal deleted inserted replaced
3753:a558c8adc5af 3754:73ee40cbfb53
   261 
   261 
   262     tr = repo.currenttransaction()
   262     tr = repo.currenttransaction()
   263     assert tr is not None
   263     assert tr is not None
   264     bmupdate = _bookmarksupdater(repo, bumped.node(), tr)
   264     bmupdate = _bookmarksupdater(repo, bumped.node(), tr)
   265     newid = None
   265     newid = None
       
   266     replacementnode = None
   266 
   267 
   267     # function to update the bookmark from the rebased changeset to new resolved
   268     # function to update the bookmark from the rebased changeset to new resolved
   268     # changeset
   269     # changeset
   269     rebasedbmupdate = None
   270     rebasedbmupdate = None
   270     if tmpctx and tmpctx.node() != bumped.node():
   271     if tmpctx and tmpctx.node() != bumped.node():
   307                              user=bumped.user(),
   308                              user=bumped.user(),
   308                              date=bumped.date(),
   309                              date=bumped.date(),
   309                              extra=bumped.extra())
   310                              extra=bumped.extra())
   310 
   311 
   311         newid = repo.commitctx(new)
   312         newid = repo.commitctx(new)
       
   313         replacementnode = newid
   312     if newid is None:
   314     if newid is None:
   313         obsolete.createmarkers(repo, [(tmpctx, ())], operation='evolve')
   315         obsolete.createmarkers(repo, [(tmpctx, ())], operation='evolve')
   314         newid = prec.node()
   316         newid = prec.node()
   315     else:
   317     else:
   316         phases.retractboundary(repo, tr, bumped.phase(), [newid])
   318         phases.retractboundary(repo, tr, bumped.phase(), [newid])
   322         rebasedbmupdate(newid)
   324         rebasedbmupdate(newid)
   323     repo.ui.status(_('committed as %s\n') % node.short(newid))
   325     repo.ui.status(_('committed as %s\n') % node.short(newid))
   324     # reroute the working copy parent to the new changeset
   326     # reroute the working copy parent to the new changeset
   325     with repo.dirstate.parentchange():
   327     with repo.dirstate.parentchange():
   326         repo.dirstate.setparents(newid, node.nullid)
   328         repo.dirstate.setparents(newid, node.nullid)
   327     return (True, newid)
   329     return (True, replacementnode)
   328 
   330 
   329 def _solvedivergent(ui, repo, divergent, evolvestate, dryrun=False,
   331 def _solvedivergent(ui, repo, divergent, evolvestate, dryrun=False,
   330                     confirm=False, progresscb=None):
   332                     confirm=False, progresscb=None):
   331     """tries to solve content-divergence of a changeset
   333     """tries to solve content-divergence of a changeset
   332 
   334