templatekw: clarify the result of {latesttag} when no tag exists
My initial expectation was that the list would be empty, and therefore
detectable with {if()}. The map for {latesttag()} is populated with real values
in this case (except {tag}), so it probably doesn't make any sense to change
this to an empty list.
--- a/mercurial/templatekw.py Thu Apr 06 19:24:04 2017 +0200
+++ b/mercurial/templatekw.py Sun Apr 09 00:10:54 2017 -0400
@@ -432,7 +432,8 @@
@templatekeyword('latesttag')
def showlatesttag(**args):
"""List of strings. The global tags on the most recent globally
- tagged ancestor of this changeset.
+ tagged ancestor of this changeset. If no such tags exist, the list
+ consists of the single string "null".
"""
return showlatesttags(None, **args)
--- a/mercurial/templater.py Thu Apr 06 19:24:04 2017 +0200
+++ b/mercurial/templater.py Sun Apr 09 00:10:54 2017 -0400
@@ -719,7 +719,9 @@
@templatefunc('latesttag([pattern])')
def latesttag(context, mapping, args):
"""The global tags matching the given pattern on the
- most recent globally tagged ancestor of this changeset."""
+ most recent globally tagged ancestor of this changeset.
+ If no such tags exist, the "{tag}" template resolves to
+ the string "null"."""
if len(args) > 1:
# i18n: "latesttag" is a keyword
raise error.ParseError(_("latesttag expects at most one argument"))