comparison mercurial/scmutil.py @ 36661:b76248e51605

scmutil: avoid using basestring and add explicit handling of unicodes This resolves some Python 3 defects, and I don't think it is a meaningful behavior change in Python 2. Differential Revision: https://phab.mercurial-scm.org/D2611
author Augie Fackler <augie@google.com>
date Sat, 03 Mar 2018 17:08:05 -0500
parents e1c6c1f9855d
children c442c4a92ae8
comparison
equal deleted inserted replaced
36660:11b279a75bf1 36661:b76248e51605
184 ui.warn(_("abort: %s!\n") % inst) 184 ui.warn(_("abort: %s!\n") % inst)
185 if inst.hint: 185 if inst.hint:
186 ui.warn(_("(%s)\n") % inst.hint) 186 ui.warn(_("(%s)\n") % inst.hint)
187 except error.ResponseError as inst: 187 except error.ResponseError as inst:
188 ui.warn(_("abort: %s") % inst.args[0]) 188 ui.warn(_("abort: %s") % inst.args[0])
189 if not isinstance(inst.args[1], basestring): 189 msg = inst.args[1]
190 if isinstance(msg, type(u'')):
191 msg = pycompat.sysbytes(msg)
192 elif not isinstance(inst.args[1], bytes):
190 ui.warn(" %r\n" % (inst.args[1],)) 193 ui.warn(" %r\n" % (inst.args[1],))
191 elif not inst.args[1]: 194 elif not inst.args[1]:
192 ui.warn(_(" empty string\n")) 195 ui.warn(_(" empty string\n"))
193 else: 196 else:
194 ui.warn("\n%r\n" % util.ellipsis(inst.args[1])) 197 ui.warn("\n%r\n" % util.ellipsis(inst.args[1]))