mercurial/commands.py
changeset 38320 eef4668be8a3
parent 38319 0d6d0aa3c4bf
child 38321 9b1536b02221
equal deleted inserted replaced
38319:0d6d0aa3c4bf 38320:eef4668be8a3
   615     # the backout should appear on the same branch
   615     # the backout should appear on the same branch
   616     branch = repo.dirstate.branch()
   616     branch = repo.dirstate.branch()
   617     bheads = repo.branchheads(branch)
   617     bheads = repo.branchheads(branch)
   618     rctx = scmutil.revsingle(repo, hex(parent))
   618     rctx = scmutil.revsingle(repo, hex(parent))
   619     if not opts.get('merge') and op1 != node:
   619     if not opts.get('merge') and op1 != node:
   620         dsguard = dirstateguard.dirstateguard(repo, 'backout')
   620         with dirstateguard.dirstateguard(repo, 'backout'):
   621         try:
       
   622             overrides = {('ui', 'forcemerge'): opts.get('tool', '')}
   621             overrides = {('ui', 'forcemerge'): opts.get('tool', '')}
   623             with ui.configoverride(overrides, 'backout'):
   622             with ui.configoverride(overrides, 'backout'):
   624                 stats = mergemod.update(repo, parent, True, True, node, False)
   623                 stats = mergemod.update(repo, parent, True, True, node, False)
   625             repo.setparents(op1, op2)
   624             repo.setparents(op1, op2)
   626             dsguard.close()
   625         hg._showstats(repo, stats)
   627             hg._showstats(repo, stats)
   626         if stats.unresolvedcount:
   628             if stats.unresolvedcount:
   627             repo.ui.status(_("use 'hg resolve' to retry unresolved "
   629                 repo.ui.status(_("use 'hg resolve' to retry unresolved "
   628                              "file merges\n"))
   630                                  "file merges\n"))
   629             return 1
   631                 return 1
       
   632         finally:
       
   633             lockmod.release(dsguard)
       
   634     else:
   630     else:
   635         hg.clean(repo, node, show_stats=False)
   631         hg.clean(repo, node, show_stats=False)
   636         repo.dirstate.setbranch(branch)
   632         repo.dirstate.setbranch(branch)
   637         cmdutil.revert(ui, repo, rctx, repo.dirstate.parents())
   633         cmdutil.revert(ui, repo, rctx, repo.dirstate.parents())
   638 
   634