view mercurial/templates/map-cmdline.show @ 49628:f09bc2ed9100 stable

help: fix a py3 error interpolating Set into b'%s' I can't reproduce it, but a coworker hit this with `hg help -v` with 6.2.3: ... File "mercurial\help.pyc", line 865, in helplist TypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'set' I can confirm that the original expression fails in `hg debugshell`, and the new one works. The second instance was found by searching for "%s", but PyCharm detects a lot of variables as Any type, so I have no idea if there are other lurking problems.
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 20 Nov 2022 15:55:27 -0500
parents b45c353ebbc7
children
line wrap: on
line source

# TODO there are a few deficiencies in this file:
# * The "namespace" of the labels needs to be worked out. We currently
#   piggyback on existing values so color works.

%include map-cmdline.default

[templates]
showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, nodelen)}\n'

showwork = '{cset_shortnode}{namespaces % cset_namespace} {cset_shortdesc}'
showstack = '{showwork}'

cset_shortnode = '{labelcset(shortest(node, nodelen))}'

# Treat branch and tags specially so we don't display "default" or "tip"
cset_namespace = '{ifeq(namespace, "branches", names_branches, ifeq(namespace, "tags", names_tags, names_others))}'
names_branches = '{ifeq(branch, "default", "", " ({label('log.{colorname}', branch)})")}'
names_tags = '{if(filter_tags(names),
                  " ({label('log.{colorname}', join(filter_tags(names), ' '))})")}'
names_others = '{if(names, " ({label('log.{colorname}', join(names, ' '))})")}'

cset_shortdesc = '{label("log.description", desc|firstline)}'

[templatealias]
filter_tags(names) = filter(names, ifeq(name, 'tip', '', name))