diff -r b9e2269aeff8 -r c7da57bbae96 mercurial/dagop.py --- a/mercurial/dagop.py Sat Jun 17 22:33:23 2017 +0900 +++ b/mercurial/dagop.py Sun Jun 18 17:16:02 2017 +0900 @@ -26,6 +26,9 @@ else: cut = None cl = repo.changelog + + # load input revs lazily to heap so earlier revisions can be yielded + # without fully computing the input revs revs.sort(reverse=True) irevs = iter(revs) h = []