Mercurial > hg
changeset 34433:2f5a135b2b04
annotate: track whether a particular annotation was the result of a skip
We're going to expose this information in the UI in an upcoming patch.
Differential Revision: https://phab.mercurial-scm.org/D899
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Mon, 02 Oct 2017 02:34:47 -0700 |
parents | 2e32c6a31cc7 |
children | 884b595f5195 |
files | mercurial/context.py tests/test-annotate.py |
diffstat | 2 files changed, 10 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/context.py Mon Oct 02 02:34:47 2017 -0700 +++ b/mercurial/context.py Mon Oct 02 02:34:47 2017 -0700 @@ -1111,6 +1111,8 @@ class annotateline(object): fctx = attr.ib() lineno = attr.ib(default=False) + # Whether this annotation was the result of a skip-annotate. + skip = attr.ib(default=False) def _annotatepair(parents, childfctx, child, skipchild, diffopts): r''' @@ -1159,7 +1161,7 @@ for bk in xrange(b1, b2): if child[0][bk].fctx == childfctx: ak = min(a1 + (bk - b1), a2 - 1) - child[0][bk] = parent[0][ak] + child[0][bk] = attr.evolve(parent[0][ak], skip=True) else: remaining[idx][1].append((a1, a2, b1, b2)) @@ -1170,7 +1172,7 @@ for bk in xrange(b1, b2): if child[0][bk].fctx == childfctx: ak = min(a1 + (bk - b1), a2 - 1) - child[0][bk] = parent[0][ak] + child[0][bk] = attr.evolve(parent[0][ak], skip=True) return child class filectx(basefilectx):
--- a/tests/test-annotate.py Mon Oct 02 02:34:47 2017 -0700 +++ b/tests/test-annotate.py Mon Oct 02 02:34:47 2017 -0700 @@ -80,9 +80,11 @@ diffopts) self.assertEqual(childann[0], [ annotateline('old', 1), - annotateline('old', 2), + annotateline('old', 2, True), + # note that this line was carried over from earlier so it is *not* + # marked skipped annotateline('p2', 2), - annotateline('p2', 2), + annotateline('p2', 2, True), annotateline('p2', 3), ]) @@ -91,9 +93,9 @@ diffopts) self.assertEqual(childann[0], [ annotateline('old', 1), - annotateline('old', 2), + annotateline('old', 2, True), annotateline('p1', 3), - annotateline('p1', 3), + annotateline('p1', 3, True), annotateline('p2', 3), ])