Mercurial > hg
changeset 50825:973fbb27ab45
backout: migrate `opts` to native kwargs
It will take a bit to unwind `cmdutil.commit`, so there's a conversion to
byteskwargs there, without changing the type of `opts` in this function. That's
also useful to flag it as needing to be changed.
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 20 Aug 2023 00:27:27 -0400 |
parents | 489268c8ee7e |
children | 36901c182d70 |
files | mercurial/commands.py |
diffstat | 1 files changed, 13 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/commands.py Sat Aug 19 23:06:40 2023 -0400 +++ b/mercurial/commands.py Sun Aug 20 00:27:27 2023 -0400 @@ -775,7 +775,6 @@ def _dobackout(ui, repo, node=None, rev=None, **opts): cmdutil.check_incompatible_arguments(opts, 'no_commit', ['commit', 'merge']) - opts = pycompat.byteskwargs(opts) if rev and node: raise error.InputError(_(b"please specify just one revision")) @@ -786,9 +785,9 @@ if not rev: raise error.InputError(_(b"please specify a revision to backout")) - date = opts.get(b'date') + date = opts.get('date') if date: - opts[b'date'] = dateutil.parsedate(date) + opts['date'] = dateutil.parsedate(date) cmdutil.checkunfinished(repo) cmdutil.bailifchanged(repo) @@ -805,16 +804,16 @@ if p1 == repo.nullid: raise error.InputError(_(b'cannot backout a change with no parents')) if p2 != repo.nullid: - if not opts.get(b'parent'): + if not opts.get('parent'): raise error.InputError(_(b'cannot backout a merge changeset')) - p = repo.lookup(opts[b'parent']) + p = repo.lookup(opts['parent']) if p not in (p1, p2): raise error.InputError( _(b'%s is not a parent of %s') % (short(p), short(node)) ) parent = p else: - if opts.get(b'parent'): + if opts.get('parent'): raise error.InputError( _(b'cannot use --parent on non-merge changeset') ) @@ -824,9 +823,9 @@ branch = repo.dirstate.branch() bheads = repo.branchheads(branch) rctx = scmutil.revsingle(repo, hex(parent)) - if not opts.get(b'merge') and op1 != node: + if not opts.get('merge') and op1 != node: with repo.transaction(b"backout"): - overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')} + overrides = {(b'ui', b'forcemerge'): opts.get('tool', b'')} with ui.configoverride(overrides, b'backout'): stats = mergemod.back_out(ctx, parent=repo[parent]) repo.setparents(op1, op2) @@ -841,7 +840,7 @@ repo.dirstate.setbranch(branch, repo.currenttransaction()) cmdutil.revert(ui, repo, rctx) - if opts.get(b'no_commit'): + if opts.get('no_commit'): msg = _(b"changeset %s backed out, don't forget to commit.\n") ui.status(msg % short(node)) return 0 @@ -862,7 +861,9 @@ # save to detect changes tip = repo.changelog.tip() - newnode = cmdutil.commit(ui, repo, commitfunc, [], opts) + newnode = cmdutil.commit( + ui, repo, commitfunc, [], pycompat.byteskwargs(opts) + ) if not newnode: ui.status(_(b"nothing changed\n")) return 1 @@ -875,10 +876,10 @@ _(b'changeset %s backs out changeset %s\n') % (nice(newnode), nice(node)) ) - if opts.get(b'merge') and op1 != node: + if opts.get('merge') and op1 != node: hg.clean(repo, op1, show_stats=False) ui.status(_(b'merging with changeset %s\n') % nice(newnode)) - overrides = {(b'ui', b'forcemerge'): opts.get(b'tool', b'')} + overrides = {(b'ui', b'forcemerge'): opts.get('tool', b'')} with ui.configoverride(overrides, b'backout'): return hg.merge(repo[b'tip']) return 0