# HG changeset patch # User Yuya Nishihara # Date 1474535936 -32400 # Node ID b4b328ea6175180a565ff20c98e5d156cdf6198e # Parent 2b348dc3239a0d690df2f213343cd9ed5aead92f dagop: put start fctx into visit dict of filectxancestors() Prepares for multiple start revisions/files. diff -r 2b348dc3239a -r b4b328ea6175 mercurial/dagop.py --- a/mercurial/dagop.py Thu Sep 22 18:11:37 2016 +0900 +++ b/mercurial/dagop.py Thu Sep 22 18:18:56 2016 +0900 @@ -84,23 +84,20 @@ visit[rev] = set() visit[rev].add(fctx) - c = fctx if followfirst: cut = 1 else: cut = None - yield c - while True: - for parent in c.parents()[:cut]: - addvisit(parent) - if not visit: - break + addvisit(fctx) + while visit: rev = max(visit) c = visit[rev].pop() if not visit[rev]: del visit[rev] yield c + for parent in c.parents()[:cut]: + addvisit(parent) def _genrevancestors(repo, revs, followfirst, startdepth, stopdepth, cutfunc): if followfirst: