[PATCH] show: use labelcset() template alias for work (and stack) views

Denis Laxalde denis at laxalde.org
Tue Oct 17 19:01:48 UTC 2017


# HG changeset patch
# User Denis Laxalde <denis at laxalde.org>
# Date 1508264743 -7200
#      Tue Oct 17 20:25:43 2017 +0200
# Node ID 9af9aa26a601cf26aca9320d0384857fe09fa28b
# Parent  68e0bcb903572cb3641c1b1ac11bdcf47d4ff5ac
# EXP-Topic show-obs-info
show: use labelcset() template alias for work (and stack) views

By reusing labelcset() template alias from map-cmdline.default we can now
display obsolescence information in `hg show work/stack`.

diff --git a/mercurial/templates/map-cmdline.show b/mercurial/templates/map-cmdline.show
--- a/mercurial/templates/map-cmdline.show
+++ b/mercurial/templates/map-cmdline.show
@@ -1,8 +1,8 @@
 # TODO there are a few deficiencies in this file:
 # * The "namespace" of the labels needs to be worked out. We currently
 #   piggyback on existing values so color works.
-# * Obsolescence isn't considered for node labels. See _cset_labels in
-#   map-cmdline.default.
+
+%include map-cmdline.default
 
 [templates]
 showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, nodelen)}\n'
@@ -10,7 +10,7 @@ showbookmarks = '{if(active, "*", " ")} 
 showwork = '{cset_shortnode}{namespaces % cset_namespace} {cset_shortdesc}'
 showstack = '{showwork}'
 
-cset_shortnode = '{label("log.changeset changeset.{phase}", shortest(node, nodelen))}'
+cset_shortnode = '{labelcset(shortest(node, nodelen))}'
 
 # Treat branch and tags specially so we don't display "default" or "tip"
 cset_namespace = '{ifeq(namespace, "branches", names_branches, ifeq(namespace, "tags", names_tags, names_others))}'
diff --git a/tests/test-show-work.t b/tests/test-show-work.t
--- a/tests/test-show-work.t
+++ b/tests/test-show-work.t
@@ -234,6 +234,20 @@ Extra namespaces are rendered
   o  6a75 (r1) commit 2
   o  97fc (r0) commit 1
 
+Obsolescence information appears in labels.
+
+  $ cat >> .hg/hgrc << EOF
+  > [experimental]
+  > stabilization=createmarkers
+  > EOF
+  $ hg debugobsolete `hg log -r 'desc("commit 2")' -T "{node}"`
+  obsoleted 1 changesets
+  $ hg show work --color=debug
+  @  [log.changeset changeset.draft changeset.unstable instability.orphan|32f3] [log.description|commit 3]
+  x  [log.changeset changeset.draft changeset.obsolete|6a75] [log.description|commit 2]
+  |
+  ~
+
   $ cd ..
 
 Prefix collision on hashes increases shortest node length


More information about the Mercurial-devel mailing list