amend: use context manager for config override
Differential Revision: https://phab.mercurial-scm.org/D639
--- a/mercurial/cmdutil.py Wed Sep 06 10:42:02 2017 -0700
+++ b/mercurial/cmdutil.py Wed Sep 06 10:41:13 2017 -0700
@@ -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)