[PATCH 2 of 8] templater: add revdesc function

timeless at mozdev.org timeless at mozdev.org
Thu Sep 10 22:36:40 CDT 2015


# HG changeset patch
# User timeless at mozdev.org
# Date 1441937881 14400
#      Thu Sep 10 22:18:01 2015 -0400
# Node ID cc0d4af57610091f9e637dd3a4b11f4ae6b78498
# Parent  404f89e718a2866eaed6eef778b9eafe00f1f9ae
templater: add revdesc function

revdesc takes a revision and returns its description

for use like:
  {revset("...") % "{revision|revdesc}"}

diff --git a/mercurial/templater.py b/mercurial/templater.py
--- a/mercurial/templater.py
+++ b/mercurial/templater.py
@@ -554,6 +554,12 @@
     ctx = repo[rev]
     return ctx, repo
 
+def revdesc(context, mapping, args):
+    """:revdesc(rev): Show description.
+    See :hg:`help templates.desc`."""
+    ctx, repo = ctxrepo('revdesc', context, mapping, args)
+    return ctx.description().strip()
+
 def revset(context, mapping, args):
     """:revset(query[, formatargs...]): Execute a revision set query. See
     :hg:`help revset`."""
@@ -749,6 +755,7 @@
     "label": label,
     "localdate": localdate,
     "pad": pad,
+    "revdesc": revdesc,
     "revset": revset,
     "rstdoc": rstdoc,
     "shortest": shortest,
diff --git a/tests/test-log.t b/tests/test-log.t
--- a/tests/test-log.t
+++ b/tests/test-log.t
@@ -2094,4 +2094,15 @@
      date:        Thu Jan 01 00:00:00 1970 +0000
      summary:     A1B1C1
   
+Verify rev*() template functions
+
+  $ hg log -r 0 --template '{revset("0::0") % "changeset:\t{revision}\n"}\n'
+  changeset:	0
+  
+  $ hg log -r 0 --template '{revset("0::0") % "summary:\t{revision|revdesc|firstline}\n"}\n'
+  summary:	A1B1C1
+  
+  $ hg log -r . --template '{revdesc()}'
+  hg: parse error: revdesc expects one argument
+  [255]
   $ cd ..


More information about the Mercurial-devel mailing list