diff -r 31a2eb0f74e5 -r d5b2beca16c0 mercurial/scmutil.py --- a/mercurial/scmutil.py Wed Aug 30 14:04:55 2017 -0700 +++ b/mercurial/scmutil.py Tue Aug 22 20:03:07 2017 -0400 @@ -163,7 +163,8 @@ ui.warn(_("(lock might be very busy)\n")) except error.LockUnavailable as inst: ui.warn(_("abort: could not lock %s: %s\n") % - (inst.desc or inst.filename, inst.strerror)) + (inst.desc or inst.filename, + encoding.strtolocal(inst.strerror))) except error.OutOfBandError as inst: if inst.args: msg = _("abort: remote error:\n") @@ -226,16 +227,18 @@ pass elif getattr(inst, "strerror", None): if getattr(inst, "filename", None): - ui.warn(_("abort: %s: %s\n") % (inst.strerror, inst.filename)) + ui.warn(_("abort: %s: %s\n") % ( + encoding.strtolocal(inst.strerror), inst.filename)) else: - ui.warn(_("abort: %s\n") % inst.strerror) + ui.warn(_("abort: %s\n") % encoding.strtolocal(inst.strerror)) else: raise except OSError as inst: if getattr(inst, "filename", None) is not None: - ui.warn(_("abort: %s: '%s'\n") % (inst.strerror, inst.filename)) + ui.warn(_("abort: %s: '%s'\n") % ( + encoding.strtolocal(inst.strerror), inst.filename)) else: - ui.warn(_("abort: %s\n") % inst.strerror) + ui.warn(_("abort: %s\n") % encoding.strtolocal(inst.strerror)) except MemoryError: ui.warn(_("abort: out of memory\n")) except SystemExit as inst: