context: also return ancestor's line range in blockancestors
authorDenis Laxalde <denis.laxalde@logilab.fr>
Mon, 16 Jan 2017 17:14:36 +0100
changeset 31076 0e07855e6054
parent 31075 21f1f97ab212
child 31077 0f39055c9be5
context: also return ancestor's line range in blockancestors
mercurial/context.py
mercurial/revset.py
--- a/mercurial/context.py	Mon Jan 16 17:08:25 2017 +0100
+++ b/mercurial/context.py	Mon Jan 16 17:14:36 2017 +0100
@@ -1179,7 +1179,7 @@
             pl = pl[:1]
         if not pl:
             # The block originates from the initial revision.
-            yield c
+            yield c, linerange2
             continue
         inrange = False
         for p in pl:
@@ -1192,7 +1192,7 @@
                 continue
             visit[p.linkrev(), p.filenode()] = p, linerange1
         if inrange:
-            yield c
+            yield c, linerange2
 
 class committablectx(basectx):
     """A committablectx object provides common functionality for a context that
--- a/mercurial/revset.py	Mon Jan 16 17:08:25 2017 +0100
+++ b/mercurial/revset.py	Mon Jan 16 17:14:36 2017 +0100
@@ -952,7 +952,8 @@
     fromline -= 1
 
     fctx = repo[rev].filectx(fname)
-    revs = (c.rev() for c in context.blockancestors(fctx, fromline, toline))
+    revs = (c.rev() for c, _linerange
+            in context.blockancestors(fctx, fromline, toline))
     return subset & generatorset(revs, iterasc=False)
 
 @predicate('all()', safe=True)