summary: don't explicitly str() something we're about to %s
str() is wrong on Python 3 here, and %s implicitly calls str() anyway,
so this was just extra dancing for no reason.
--- a/mercurial/commands.py Sat Mar 11 20:57:40 2017 -0500
+++ b/mercurial/commands.py Sat Mar 11 20:58:26 2017 -0500
@@ -4812,7 +4812,7 @@
# label with log.changeset (instead of log.parent) since this
# shows a working directory parent *changeset*:
# i18n: column positioning for "hg summary"
- ui.write(_('parent: %d:%s ') % (p.rev(), str(p)),
+ ui.write(_('parent: %d:%s ') % (p.rev(), p),
label=cmdutil._changesetlabels(p))
ui.write(' '.join(p.tags()), label='log.tag')
if p.bookmarks():