Mercurial > public > mercurial-scm > hg-stable
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()