[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