diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py --- a/mercurial/templatekw.py +++ b/mercurial/templatekw.py @@ -344,11 +344,7 @@ def showlatesttag(**args): """:latesttag: List of strings. The global tags on the most recent globally tagged ancestor of this changeset. """ - repo, ctx = args['repo'], args['ctx'] - cache = args['cache'] - latesttags = getlatesttags(repo, ctx, cache)[2] - - return showlist('latesttag', latesttags, separator=':', **args) + return showlatesttags(None, **args) def showlatesttags(pattern, **args): """helper method for the latesttag keyword and function""" diff --git a/tests/test-command-template.t b/tests/test-command-template.t --- a/tests/test-command-template.t +++ b/tests/test-command-template.t @@ -2690,6 +2690,19 @@ Merged tag overrides: 1: t1+0 0: null+1 + $ hg log --template "{rev}: {latesttag % '{tag}+{distance},{changes} '}\n" + 10: t5+5,5 + 9: t5+4,4 + 8: t5+3,3 + 7: t5+2,2 + 6: t5+1,1 + 5: t5+0,0 + 4: at3+1,1 t3+1,1 + 3: at3+0,0 t3+0,0 + 2: t2+0,0 + 1: t1+0,0 + 0: null+1,1 + $ hg log --template "{rev}: {latesttag('re:^t[13]$') % '{tag}, C: {changes}, D: {distance}'}\n" 10: t3, C: 8, D: 7 9: t3, C: 7, D: 6