[PATCH 8 of 8] shelve: get rid of ui.backupconfig

Kostia Balytskyi kobalyts at outlook.com
Tue Mar 21 08:01:40 EDT 2017


FYI, a very similar patch is a part of the latest shevle series I sent.

On 16/03/2017 21:57, Jun Wu wrote:
> # HG changeset patch
> # User Jun Wu <quark at fb.com>
> # Date 1489699661 25200
> #      Thu Mar 16 14:27:41 2017 -0700
> # Node ID 4f98fa7baebed161fe94c98661a8c404dd82a87d
> # Parent  8f87b407da24ee802e271f517dbc96ad32f21779
> # Available At https://bitbucket.org/quark-zju/hg-draft
> #              hg pull https://bitbucket.org/quark-zju/hg-draft -r 4f98fa7baebe
> shelve: get rid of ui.backupconfig
>
> diff --git a/hgext/shelve.py b/hgext/shelve.py
> --- a/hgext/shelve.py
> +++ b/hgext/shelve.py
> @@ -315,15 +315,14 @@ def getcommitfunc(extra, interactive, ed
>           if hasmq:
>               saved, repo.mq.checkapplied = repo.mq.checkapplied, False
> -        backup = repo.ui.backupconfig('phases', 'new-commit')
> +        override = {('phases', 'new-commit'): phases.secret}
>           try:
> -            repo.ui.setconfig('phases', 'new-commit', phases.secret)
>               editor_ = False
>               if editor:
>                   editor_ = cmdutil.getcommiteditor(editform='shelve.shelve',
>                                                     **opts)
> -            return repo.commit(message, shelveuser, opts.get('date'), match,
> -                               editor=editor_, extra=extra)
> +            with repo.ui.configoverride(override):
> +                return repo.commit(message, shelveuser, opts.get('date'),
> +                                   match, editor=editor_, extra=extra)
>           finally:
> -            repo.ui.restoreconfig(backup)
>               if hasmq:
>                   repo.mq.checkapplied = saved
> @@ -851,7 +850,5 @@ def _dounshelve(ui, repo, *shelved, **op
>       oldquiet = ui.quiet
>       lock = tr = None
> -    forcemerge = ui.backupconfig('ui', 'forcemerge')
>       try:
> -        ui.setconfig('ui', 'forcemerge', opts.get('tool', ''), 'unshelve')
>           lock = repo.lock()
>   
> @@ -867,23 +864,26 @@ def _dounshelve(ui, repo, *shelved, **op
>           # to the original pctx.
>   
> -        tmpwctx, addedbefore = _commitworkingcopychanges(ui, repo, opts,
> -                                                         tmpwctx)
> -
> -        repo, shelvectx = _unshelverestorecommit(ui, repo, basename, oldquiet)
> -        _checkunshelveuntrackedproblems(ui, repo, shelvectx)
> -        branchtorestore = ''
> -        if shelvectx.branch() != shelvectx.p1().branch():
> -            branchtorestore = shelvectx.branch()
> +        override = {('ui', 'forcemerge'): opts.get('tool', '')}
> +        with ui.configoverride(override, 'unshelve'):
> +            tmpwctx, addedbefore = _commitworkingcopychanges(ui, repo, opts,
> +                                                             tmpwctx)
>   
> -        shelvectx = _rebaserestoredcommit(ui, repo, opts, tr, oldtiprev,
> -                                          basename, pctx, tmpwctx, shelvectx,
> -                                          branchtorestore)
> -        mergefiles(ui, repo, pctx, shelvectx)
> -        restorebranch(ui, repo, branchtorestore)
> -        _forgetunknownfiles(repo, shelvectx, addedbefore)
> +            repo, shelvectx = _unshelverestorecommit(ui, repo, basename,
> +                                                     oldquiet)
> +            _checkunshelveuntrackedproblems(ui, repo, shelvectx)
> +            branchtorestore = ''
> +            if shelvectx.branch() != shelvectx.p1().branch():
> +                branchtorestore = shelvectx.branch()
>   
> -        shelvedstate.clear(repo)
> -        _finishunshelve(repo, oldtiprev, tr)
> -        unshelvecleanup(ui, repo, basename, opts)
> +            shelvectx = _rebaserestoredcommit(ui, repo, opts, tr, oldtiprev,
> +                                              basename, pctx, tmpwctx,
> +                                              shelvectx, branchtorestore)
> +            mergefiles(ui, repo, pctx, shelvectx)
> +            restorebranch(ui, repo, branchtorestore)
> +            _forgetunknownfiles(repo, shelvectx, addedbefore)
> +
> +            shelvedstate.clear(repo)
> +            _finishunshelve(repo, oldtiprev, tr)
> +            unshelvecleanup(ui, repo, basename, opts)
>       finally:
>           ui.quiet = oldquiet
> @@ -891,5 +891,4 @@ def _dounshelve(ui, repo, *shelved, **op
>               tr.release()
>           lockmod.release(lock)
> -        ui.restoreconfig(forcemerge)
>   
>   @command('shelve',
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel



More information about the Mercurial-devel mailing list