diff mercurial/dagop.py @ 35285:205c3c6c1a51

dagop: extend filectxancestors() to walk multiple files
author Yuya Nishihara <yuya@tcha.org>
date Thu, 22 Sep 2016 18:23:58 +0900
parents b4b328ea6175
children 2cb05e6043be
line wrap: on
line diff
--- a/mercurial/dagop.py	Thu Sep 22 18:18:56 2016 +0900
+++ b/mercurial/dagop.py	Thu Sep 22 18:23:58 2016 +0900
@@ -75,8 +75,9 @@
                 if prev != node.nullrev:
                     heapq.heappush(pendingheap, (heapsign * prev, pdepth))
 
-def filectxancestors(fctx, followfirst=False):
-    """Like filectx.ancestors(), but includes the given fctx itself"""
+def filectxancestors(fctxs, followfirst=False):
+    """Like filectx.ancestors(), but can walk from multiple files/revisions,
+    and includes the given fctxs themselves"""
     visit = {}
     def addvisit(fctx):
         rev = fctx.rev()
@@ -89,7 +90,8 @@
     else:
         cut = None
 
-    addvisit(fctx)
+    for c in fctxs:
+        addvisit(c)
     while visit:
         rev = max(visit)
         c = visit[rev].pop()