changeset 31850:f0d719e513fc

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.
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 09 Apr 2017 00:10:54 -0400
parents 5c1abb4bd3ee
children 23baa3a8f36c
files mercurial/templatekw.py mercurial/templater.py
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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"))