show: use labelcset() template alias for work (and stack) views
authorDenis Laxalde <denis@laxalde.org>
Tue, 17 Oct 2017 20:25:43 +0200
changeset 34877 eb24f1d1b50b
parent 34876 eb1b964b354b
child 34878 9f7ecc5bbc28
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`.
mercurial/templates/map-cmdline.show
tests/test-show-work.t
--- a/mercurial/templates/map-cmdline.show	Wed Oct 18 12:19:53 2017 -0500
+++ b/mercurial/templates/map-cmdline.show	Tue Oct 17 20:25:43 2017 +0200
@@ -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 @@
 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))}'
--- a/tests/test-show-work.t	Wed Oct 18 12:19:53 2017 -0500
+++ b/tests/test-show-work.t	Tue Oct 17 20:25:43 2017 +0200
@@ -234,6 +234,20 @@
   o  6a75 (r1) commit 2
   o  97fc (r0) commit 1
 
+Obsolescence information appears in labels.
+
+  $ cat >> .hg/hgrc << EOF
+  > [experimental]
+  > evolution=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