# HG changeset patch # User Martin von Zweigbergk # Date 1623365122 25200 # Node ID 7f7457f84311966e4507714fdc6c5c7ec854cc08 # Parent fca9c63f160ec228d0c43514167681fe62eb038f cmdutil: make resolvecommitoptions() work on str-keyed opts As with `checknotesize()`, I also changed to snake_case while at it, to help extensions a little. Differential Revision: https://phab.mercurial-scm.org/D10863 diff -r fca9c63f160e -r 7f7457f84311 hgext/uncommit.py --- a/hgext/uncommit.py Thu Jun 10 14:55:10 2021 -0700 +++ b/hgext/uncommit.py Thu Jun 10 15:45:22 2021 -0700 @@ -154,8 +154,8 @@ given. """ cmdutil.check_note_size(opts) + cmdutil.resolve_commit_options(ui, opts) opts = pycompat.byteskwargs(opts) - cmdutil.resolvecommitoptions(ui, opts) with repo.wlock(), repo.lock(): diff -r fca9c63f160e -r 7f7457f84311 mercurial/cmdutil.py --- a/mercurial/cmdutil.py Thu Jun 10 14:55:10 2021 -0700 +++ b/mercurial/cmdutil.py Thu Jun 10 15:45:22 2021 -0700 @@ -301,29 +301,29 @@ check_at_most_one_arg(opts, first, other) -def resolvecommitoptions(ui, opts): +def resolve_commit_options(ui, opts): """modify commit options dict to handle related options The return value indicates that ``rewrite.update-timestamp`` is the reason the ``date`` option is set. """ - check_at_most_one_arg(opts, b'date', b'currentdate') - check_at_most_one_arg(opts, b'user', b'currentuser') + check_at_most_one_arg(opts, 'date', 'currentdate') + check_at_most_one_arg(opts, 'user', 'currentuser') datemaydiffer = False # date-only change should be ignored? - if opts.get(b'currentdate'): - opts[b'date'] = b'%d %d' % dateutil.makedate() + if opts.get('currentdate'): + opts['date'] = b'%d %d' % dateutil.makedate() elif ( - not opts.get(b'date') + not opts.get('date') and ui.configbool(b'rewrite', b'update-timestamp') - and opts.get(b'currentdate') is None + and opts.get('currentdate') is None ): - opts[b'date'] = b'%d %d' % dateutil.makedate() + opts['date'] = b'%d %d' % dateutil.makedate() datemaydiffer = True - if opts.get(b'currentuser'): - opts[b'user'] = ui.username() + if opts.get('currentuser'): + opts['user'] = ui.username() return datemaydiffer @@ -2783,7 +2783,6 @@ def amend(ui, repo, old, extra, pats, opts): - opts = pycompat.byteskwargs(opts) # avoid cycle context -> subrepo -> cmdutil from . import context @@ -2816,7 +2815,8 @@ extra.update(wctx.extra()) # date-only change should be ignored? - datemaydiffer = resolvecommitoptions(ui, opts) + datemaydiffer = resolve_commit_options(ui, opts) + opts = pycompat.byteskwargs(opts) date = old.date() if opts.get(b'date'): diff -r fca9c63f160e -r 7f7457f84311 mercurial/commands.py --- a/mercurial/commands.py Thu Jun 10 14:55:10 2021 -0700 +++ b/mercurial/commands.py Thu Jun 10 15:45:22 2021 -0700 @@ -3104,8 +3104,8 @@ # list of new nodes created by ongoing graft statedata[b'newnodes'] = [] + cmdutil.resolve_commit_options(ui, opts) opts = pycompat.byteskwargs(opts) - cmdutil.resolvecommitoptions(ui, opts) editor = cmdutil.getcommiteditor( editform=b'graft', **pycompat.strkwargs(opts)