mercurial/cmdutil.py
changeset 33824 158dddc635ff
parent 33823 5d286eb7009f
child 33856 eae63a9e59da
--- a/mercurial/cmdutil.py	Mon Aug 14 23:26:51 2017 -0700
+++ b/mercurial/cmdutil.py	Mon Aug 14 23:26:54 2017 -0700
@@ -3000,19 +3000,13 @@
     # that doesn't support addremove
     if opts.get('addremove'):
         dsguard = dirstateguard.dirstateguard(repo, 'commit')
-    try:
+    with dsguard or util.nullcontextmanager():
         if dsguard:
             if scmutil.addremove(repo, matcher, "", opts) != 0:
                 raise error.Abort(
                     _("failed to mark all new/missing files as added/removed"))
 
-        r = commitfunc(ui, repo, message, matcher, opts)
-        if dsguard:
-            dsguard.close()
-        return r
-    finally:
-        if dsguard:
-            dsguard.release()
+        return commitfunc(ui, repo, message, matcher, opts)
 
 def samefile(f, ctx1, ctx2):
     if f in ctx1.manifest():