fix: port most of the way to python 3
authorAugie Fackler <augie@google.com>
Thu, 12 Apr 2018 14:27:13 -0400
changeset 37618 1edf3738e000
parent 37617 b03f2e0fdb88
child 37619 68132a95df31
fix: port most of the way to python 3 Only most of the way because we now have to decide: if we want to keep the current .format() interface for the config in hgrc, we have to use unicodes to do formatting in Python 3, rather than bytes. I'm basically fine with that, so a follow-up patch will do so. Differential Revision: https://phab.mercurial-scm.org/D3300
hgext/fix.py
--- a/hgext/fix.py	Thu Apr 12 17:24:55 2018 -0700
+++ b/hgext/fix.py	Thu Apr 12 14:27:13 2018 -0400
@@ -66,6 +66,7 @@
     mdiff,
     merge,
     obsolete,
+    pycompat,
     registrar,
     scmutil,
     util,
@@ -126,6 +127,7 @@
     revisions are not forgotten in later ones. The --base flag can be used to
     override this default behavior, though it is not usually desirable to do so.
     """
+    opts = pycompat.byteskwargs(opts)
     if opts['all']:
         if opts['rev']:
             raise error.Abort(_('cannot specify both "--rev" and "--all"'))
@@ -513,7 +515,8 @@
         result[name] = Fixer()
         attrs = ui.configsuboptions('fix', name)[1]
         for key in FIXER_ATTRS:
-            setattr(result[name], '_' + key, attrs.get(key, ''))
+            setattr(result[name], pycompat.sysstr('_' + key),
+                    attrs.get(key, ''))
     return result
 
 def fixernames(ui):