diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
index d523b6e7ad2657b6f7c8ac2bbb449bae6ec75808_bWVyY3VyaWFsL3RlbXBsYXRla3cucHk=..a1f818a2b50ddd8e3410cb5e0648536611816d21_bWVyY3VyaWFsL3RlbXBsYXRla3cucHk= 100644
--- a/mercurial/templatekw.py
+++ b/mercurial/templatekw.py
@@ -276,7 +276,11 @@
     return ctx.hex()
 
 def showphase(repo, ctx, templ, **args):
-    """:rev: Integer. The changeset phase."""
+    """:rev: String. The changeset phase name."""
+    return ctx.phasestr()
+
+def showphaseidx(repo, ctx, templ, **args):
+    """:rev: Integer. The changeset phase index."""
     return ctx.phase()
 
 def showrev(repo, ctx, templ, **args):
@@ -317,6 +321,7 @@
     'manifest': showmanifest,
     'node': shownode,
     'phase': showphase,
+    'phaseidx': showphaseidx,
     'rev': showrev,
     'tags': showtags,
 }
diff --git a/tests/test-phases-exchange.t b/tests/test-phases-exchange.t
index d523b6e7ad2657b6f7c8ac2bbb449bae6ec75808_dGVzdHMvdGVzdC1waGFzZXMtZXhjaGFuZ2UudA==..a1f818a2b50ddd8e3410cb5e0648536611816d21_dGVzdHMvdGVzdC1waGFzZXMtZXhjaGFuZ2UudA== 100644
--- a/tests/test-phases-exchange.t
+++ b/tests/test-phases-exchange.t
@@ -2,7 +2,7 @@
   > [extensions]
   > graphlog=
   > EOF
-  $ alias hgph='hg log --template "{rev} {phase} {desc} - {node|short}\n"'
+  $ alias hgph='hg log --template "{rev} {phaseidx} {desc} - {node|short}\n"'
 
   $ mkcommit() {
   >    echo "$1" > "$1"
diff --git a/tests/test-phases.t b/tests/test-phases.t
index d523b6e7ad2657b6f7c8ac2bbb449bae6ec75808_dGVzdHMvdGVzdC1waGFzZXMudA==..a1f818a2b50ddd8e3410cb5e0648536611816d21_dGVzdHMvdGVzdC1waGFzZXMudA== 100644
--- a/tests/test-phases.t
+++ b/tests/test-phases.t
@@ -1,4 +1,4 @@
-  $ alias hglog='hg log --template "{rev} {phase} {desc}\n"'
+  $ alias hglog='hg log --template "{rev} {phaseidx} {desc}\n"'
   $ mkcommit() {
   >    echo "$1" > "$1"
   >    hg add "$1"