[PATCH 1 of 2] context: add instabilities() method to basefilectx

Anton Shestakov av6 at dwimlabs.net
Sun Nov 19 04:06:33 EST 2017

# HG changeset patch
# User Anton Shestakov <av6 at dwimlabs.net>
# Date 1511068734 -28800
#      Sun Nov 19 13:18:54 2017 +0800
# Node ID 95bfd552561c2bc88284903c2d001df7e2080bfb
# Parent  7dee8249ba0efc42a60c4523fd9593853ec2eb79
# EXP-Topic hgweb-more-info
context: add instabilities() method to basefilectx

This method is now used in webutils.commonentry(), which adds common data items
(commit hash, author, date, etc) for rendering changesets in hgweb. Usually,
commonentry() is given a changectx as ctx; but in views related to files (e.g.
file view, diff, annotate) it's replaced by a filectx, so the latter also needs
to have instabilities() method.

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -821,6 +821,8 @@ class basefilectx(object):
         return self._changectx.phasestr()
     def obsolete(self):
         return self._changectx.obsolete()
+    def instabilities(self):
+        return self._changectx.instabilities()
     def manifest(self):
         return self._changectx.manifest()
     def changectx(self):
diff --git a/mercurial/hgweb/webutil.py b/mercurial/hgweb/webutil.py
--- a/mercurial/hgweb/webutil.py
+++ b/mercurial/hgweb/webutil.py
@@ -362,6 +362,7 @@ def commonentry(repo, ctx):
         'extra': ctx.extra(),
         'phase': ctx.phasestr(),
         'obsolete': ctx.obsolete(),
+        'instabilities': [{"name": i} for i in ctx.instabilities()],
         'branch': nodebranchnodefault(ctx),
         'inbranch': nodeinbranch(repo, ctx),
         'branches': nodebranchdict(repo, ctx),

More information about the Mercurial-devel mailing list