Patchwork D708: bundle2: remove unnecessary try finally

login
register
mail settings
Submitter phabricator
Date Sept. 18, 2017, 8:40 p.m.
Message ID <beae2363c2ba3f18d595438410c29ff6@localhost.localdomain>
Download mbox | patch
Permalink /patch/23997/
State Not Applicable
Headers show

Comments

phabricator - Sept. 18, 2017, 8:40 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGcc7b37c90616: bundle2: remove unnecessary try finally (authored by durham, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D708?vs=1820&id=1875

REVISION DETAIL
  https://phab.mercurial-scm.org/D708

AFFECTED FILES
  mercurial/bundle2.py

CHANGE DETAILS




To: durham, #hg-reviewers, indygreg, krbullock
Cc: indygreg, mercurial-devel

Patch

diff --git a/mercurial/bundle2.py b/mercurial/bundle2.py
--- a/mercurial/bundle2.py
+++ b/mercurial/bundle2.py
@@ -505,32 +505,28 @@ 
 
     The part is guaranteed to have been fully consumed when the function exits
     (even if an exception is raised)."""
-    try:
-        handler = _gethandler(op, part)
-        if handler is None:
-            return
+    handler = _gethandler(op, part)
+    if handler is None:
+        return
 
-        # handler is called outside the above try block so that we don't
-        # risk catching KeyErrors from anything other than the
-        # parthandlermapping lookup (any KeyError raised by handler()
-        # itself represents a defect of a different variety).
-        output = None
-        if op.captureoutput and op.reply is not None:
-            op.ui.pushbuffer(error=True, subproc=True)
-            output = ''
-        try:
-            handler(op, part)
-        finally:
-            if output is not None:
-                output = op.ui.popbuffer()
-            if output:
-                outpart = op.reply.newpart('output', data=output,
-                                           mandatory=False)
-                outpart.addparam(
-                    'in-reply-to', pycompat.bytestr(part.id), mandatory=False)
+    # handler is called outside the above try block so that we don't
+    # risk catching KeyErrors from anything other than the
+    # parthandlermapping lookup (any KeyError raised by handler()
+    # itself represents a defect of a different variety).
+    output = None
+    if op.captureoutput and op.reply is not None:
+        op.ui.pushbuffer(error=True, subproc=True)
+        output = ''
+    try:
+        handler(op, part)
     finally:
-        pass
-
+        if output is not None:
+            output = op.ui.popbuffer()
+        if output:
+            outpart = op.reply.newpart('output', data=output,
+                                       mandatory=False)
+            outpart.addparam(
+                'in-reply-to', pycompat.bytestr(part.id), mandatory=False)
 
 def decodecaps(blob):
     """decode a bundle2 caps bytes blob into a dictionary