changeset 47431:fca9c63f160e

cmdutil: make amend() take str-keyed opts I couldn't think of a reasonable change to the signature here, so unfortunately it keeps the existing one. Differential Revision: https://phab.mercurial-scm.org/D10862
author Martin von Zweigbergk <martinvonz@google.com>
date Thu, 10 Jun 2021 14:55:10 -0700
parents 3ee036c6f834
children 7f7457f84311
files mercurial/cmdutil.py mercurial/commands.py tests/test-obsolete.t
diffstat 3 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/cmdutil.py	Thu Jun 10 14:47:14 2021 -0700
+++ b/mercurial/cmdutil.py	Thu Jun 10 14:55:10 2021 -0700
@@ -2783,6 +2783,7 @@
 
 
 def amend(ui, repo, old, extra, pats, opts):
+    opts = pycompat.byteskwargs(opts)
     # avoid cycle context -> subrepo -> cmdutil
     from . import context
 
--- a/mercurial/commands.py	Thu Jun 10 14:47:14 2021 -0700
+++ b/mercurial/commands.py	Thu Jun 10 14:55:10 2021 -0700
@@ -2135,8 +2135,8 @@
         if not obsolete.isenabled(repo, obsolete.createmarkersopt):
             cmdutil.checkunfinished(repo)
 
+        node = cmdutil.amend(ui, repo, old, extra, pats, opts)
         opts = pycompat.byteskwargs(opts)
-        node = cmdutil.amend(ui, repo, old, extra, pats, opts)
         if node == old.node():
             ui.status(_(b"nothing changed\n"))
             return 1
--- a/tests/test-obsolete.t	Thu Jun 10 14:47:14 2021 -0700
+++ b/tests/test-obsolete.t	Thu Jun 10 14:55:10 2021 -0700
@@ -1478,9 +1478,8 @@
   > command = registrar.command(cmdtable)
   > @command(b"amendtransient",[], _(b'hg amendtransient [rev]'))
   > def amend(ui, repo, *pats, **opts):
-  >   opts = pycompat.byteskwargs(opts)
-  >   opts[b'message'] = b'Test'
-  >   opts[b'logfile'] = None
+  >   opts['message'] = b'Test'
+  >   opts['logfile'] = None
   >   cmdutil.amend(ui, repo, repo[b'.'], {}, pats, opts)
   >   ui.write(b'%s\n' % stringutil.pprint(repo.changelog.headrevs()))
   > EOF