[PATCH 2 of 3] commands: get rid of empty try/finally block from _dobackout

Bryan O'Sullivan bos at serpentine.com
Mon Jan 11 11:50:34 CST 2016


# HG changeset patch
# User Bryan O'Sullivan <bos at serpentine.com>
# Date 1452534587 28800
#      Mon Jan 11 09:49:47 2016 -0800
# Node ID 163832ad8661631960c31af659836bfdc2aa9e9d
# Parent  094d113f26eab0293914e862ad117cb46ac56983
commands: get rid of empty try/finally block from _dobackout

This diff is purely an indentation change to clean up a block that
was kept in place to make c7217f1458bf easier to read.

diff --git a/mercurial/commands.py b/mercurial/commands.py
--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -632,70 +632,65 @@ def _dobackout(ui, repo, node=None, rev=
         parent = p1
 
     # the backout should appear on the same branch
-    try:
-        branch = repo.dirstate.branch()
-        bheads = repo.branchheads(branch)
-        rctx = scmutil.revsingle(repo, hex(parent))
-        if not opts.get('merge') and op1 != node:
-            dsguard = cmdutil.dirstateguard(repo, 'backout')
-            try:
-                ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
-                             'backout')
-                stats = mergemod.update(repo, parent, True, True, node, False)
-                repo.setparents(op1, op2)
-                dsguard.close()
-                hg._showstats(repo, stats)
-                if stats[3]:
-                    repo.ui.status(_("use 'hg resolve' to retry unresolved "
-                                     "file merges\n"))
-                    return 1
-                elif not commit:
-                    msg = _("changeset %s backed out, "
-                            "don't forget to commit.\n")
-                    ui.status(msg % short(node))
-                    return 0
-            finally:
-                ui.setconfig('ui', 'forcemerge', '', '')
-                lockmod.release(dsguard)
-        else:
-            hg.clean(repo, node, show_stats=False)
-            repo.dirstate.setbranch(branch)
-            cmdutil.revert(ui, repo, rctx, repo.dirstate.parents())
-
-
-        def commitfunc(ui, repo, message, match, opts):
-            editform = 'backout'
-            e = cmdutil.getcommiteditor(editform=editform, **opts)
-            if not message:
-                # we don't translate commit messages
-                message = "Backed out changeset %s" % short(node)
-                e = cmdutil.getcommiteditor(edit=True, editform=editform)
-            return repo.commit(message, opts.get('user'), opts.get('date'),
-                               match, editor=e)
-        newnode = cmdutil.commit(ui, repo, commitfunc, [], opts)
-        if not newnode:
-            ui.status(_("nothing changed\n"))
-            return 1
-        cmdutil.commitstatus(repo, newnode, branch, bheads)
-
-        def nice(node):
-            return '%d:%s' % (repo.changelog.rev(node), short(node))
-        ui.status(_('changeset %s backs out changeset %s\n') %
-                  (nice(repo.changelog.tip()), nice(node)))
-        if opts.get('merge') and op1 != node:
-            hg.clean(repo, op1, show_stats=False)
-            ui.status(_('merging with changeset %s\n')
-                      % nice(repo.changelog.tip()))
-            try:
-                ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
-                             'backout')
-                return hg.merge(repo, hex(repo.changelog.tip()))
-            finally:
-                ui.setconfig('ui', 'forcemerge', '', '')
-    finally:
-        # TODO: get rid of this meaningless try/finally enclosing.
-        # this is kept only to reduce changes in a patch.
-        pass
+    branch = repo.dirstate.branch()
+    bheads = repo.branchheads(branch)
+    rctx = scmutil.revsingle(repo, hex(parent))
+    if not opts.get('merge') and op1 != node:
+        dsguard = cmdutil.dirstateguard(repo, 'backout')
+        try:
+            ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
+                         'backout')
+            stats = mergemod.update(repo, parent, True, True, node, False)
+            repo.setparents(op1, op2)
+            dsguard.close()
+            hg._showstats(repo, stats)
+            if stats[3]:
+                repo.ui.status(_("use 'hg resolve' to retry unresolved "
+                                 "file merges\n"))
+                return 1
+            elif not commit:
+                msg = _("changeset %s backed out, "
+                        "don't forget to commit.\n")
+                ui.status(msg % short(node))
+                return 0
+        finally:
+            ui.setconfig('ui', 'forcemerge', '', '')
+            lockmod.release(dsguard)
+    else:
+        hg.clean(repo, node, show_stats=False)
+        repo.dirstate.setbranch(branch)
+        cmdutil.revert(ui, repo, rctx, repo.dirstate.parents())
+
+
+    def commitfunc(ui, repo, message, match, opts):
+        editform = 'backout'
+        e = cmdutil.getcommiteditor(editform=editform, **opts)
+        if not message:
+            # we don't translate commit messages
+            message = "Backed out changeset %s" % short(node)
+            e = cmdutil.getcommiteditor(edit=True, editform=editform)
+        return repo.commit(message, opts.get('user'), opts.get('date'),
+                           match, editor=e)
+    newnode = cmdutil.commit(ui, repo, commitfunc, [], opts)
+    if not newnode:
+        ui.status(_("nothing changed\n"))
+        return 1
+    cmdutil.commitstatus(repo, newnode, branch, bheads)
+
+    def nice(node):
+        return '%d:%s' % (repo.changelog.rev(node), short(node))
+    ui.status(_('changeset %s backs out changeset %s\n') %
+              (nice(repo.changelog.tip()), nice(node)))
+    if opts.get('merge') and op1 != node:
+        hg.clean(repo, op1, show_stats=False)
+        ui.status(_('merging with changeset %s\n')
+                  % nice(repo.changelog.tip()))
+        try:
+            ui.setconfig('ui', 'forcemerge', opts.get('tool', ''),
+                         'backout')
+            return hg.merge(repo, hex(repo.changelog.tip()))
+        finally:
+            ui.setconfig('ui', 'forcemerge', '', '')
     return 0
 
 @command('bisect',


More information about the Mercurial-devel mailing list