Mercurial > hg-stable
diff mercurial/templatekw.py @ 28239:7279e0132347
templatekw: workaround for utf-8 round-trip of {desc}
Though our encoding strategy is best effort, {desc} is a primitive keyword
that should be worth enough to try hard to preserve UTF-8 bytes.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 27 Dec 2015 20:21:37 +0900 |
parents | 96f2d50fb9f6 |
children | 650c9f69a744 |
line wrap: on
line diff
--- a/mercurial/templatekw.py Thu Feb 25 10:34:31 2016 +0100 +++ b/mercurial/templatekw.py Sun Dec 27 20:21:37 2015 +0900 @@ -9,6 +9,7 @@ from .node import hex, nullid from . import ( + encoding, error, hbisect, patch, @@ -257,7 +258,12 @@ def showdescription(repo, ctx, templ, **args): """:desc: String. The text of the changeset description.""" - return ctx.description().strip() + s = ctx.description() + if isinstance(s, encoding.localstr): + # try hard to preserve utf-8 bytes + return encoding.tolocal(encoding.fromlocal(s).strip()) + else: + return s.strip() def showdiffstat(repo, ctx, templ, **args): """:diffstat: String. Statistics of changes with the following format: