Patchwork D639: amend: use context manager for config override

login
register
mail settings
Submitter phabricator
Date Sept. 7, 2017, 2:54 p.m.
Message ID <95a73f8c61195d90b39af71d26944334@localhost.localdomain>
Download mbox | patch
Permalink /patch/23720/
State Not Applicable
Headers show

Comments

phabricator - Sept. 7, 2017, 2:54 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG5dc6ac6555e6: amend: use context manager for config override (authored by martinvonz).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D639?vs=1636&id=1661

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

AFFECTED FILES
  mercurial/cmdutil.py

CHANGE DETAILS




To: martinvonz, #hg-reviewers, singhsrb
Cc: singhsrb, mercurial-devel

Patch

diff --git a/mercurial/cmdutil.py b/mercurial/cmdutil.py
--- a/mercurial/cmdutil.py
+++ b/mercurial/cmdutil.py
@@ -35,7 +35,6 @@ 
     obsolete,
     patch,
     pathutil,
-    phases,
     pycompat,
     registrar,
     revlog,
@@ -3162,16 +3161,13 @@ 
             # This not what we expect from amend.
             return old.node()
 
-        ph = repo.ui.config('phases', 'new-commit', phases.draft)
-        try:
-            if opts.get('secret'):
-                commitphase = 'secret'
-            else:
-                commitphase = old.phase()
-            repo.ui.setconfig('phases', 'new-commit', commitphase, 'amend')
+        if opts.get('secret'):
+            commitphase = 'secret'
+        else:
+            commitphase = old.phase()
+        overrides = {('phases', 'new-commit'): commitphase}
+        with ui.configoverride(overrides, 'amend'):
             newid = repo.commitctx(new)
-        finally:
-            repo.ui.setconfig('phases', 'new-commit', ph, 'amend')
 
         # Reroute the working copy parent to the new changeset
         repo.setparents(newid, nullid)