# HG changeset patch # User Augie Fackler # Date 1523557633 14400 # Node ID 1edf3738e000023fe526705ab675d9577a8aff75 # Parent b03f2e0fdb886a25bde52b1e391c9ee7294b1459 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 diff -r b03f2e0fdb88 -r 1edf3738e000 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):