diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py --- a/mercurial/templatekw.py +++ b/mercurial/templatekw.py @@ -6,7 +6,7 @@ # GNU General Public License version 2 or any later version. from node import hex -import patch, util, error +import patch, scmutil, util, error import hbisect # This helper class allows us to handle both: @@ -400,7 +400,7 @@ def showphaseidx(repo, ctx, templ, **arg def showrev(repo, ctx, templ, **args): """:rev: Integer. The repository-local changeset revision number.""" - return ctx.rev() + return scmutil.intrev(ctx.rev()) def showsubrepos(**args): """:subrepos: List of strings. Updated subrepositories in the changeset.""" 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 @@ -51,6 +51,12 @@ Second branch starting at nullrev: 8 t 7 f +Working-directory revision has special identifiers, though they are still +experimental: + + $ hg log -r 'wdir()' -T '{rev}:{node}\n' + 2147483647:ffffffffffffffffffffffffffffffffffffffff + Some keywords are invalid for working-directory revision, but they should never cause crash: