Mercurial > hg
diff mercurial/debugcommands.py @ 39163:26f3d075f36e
debugcommands: use a revset instead of dagutil
All this code was doing was finding the nodes that are heads
from the ancestors of an input set. This can easily be expressed
with a revset without having to go through dagutil.
This was the last use of ancestorset() outside of dagutil itself.
Differential Revision: https://phab.mercurial-scm.org/D4308
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 16 Aug 2018 19:55:55 +0000 |
parents | 858a12846f4f |
children | 73cf21b2e8a6 |
line wrap: on
line diff
--- a/mercurial/debugcommands.py Thu Aug 16 19:51:01 2018 +0000 +++ b/mercurial/debugcommands.py Thu Aug 16 19:55:55 2018 +0000 @@ -42,7 +42,6 @@ color, context, dagparser, - dagutil, encoding, error, exchange, @@ -791,11 +790,10 @@ if not opts.get('nonheads'): ui.write(("unpruned common: %s\n") % " ".join(sorted(short(n) for n in common))) - cl = repo.changelog - clnode = cl.node - dag = dagutil.revlogdag(cl) - all = dag.ancestorset(cl.rev(n) for n in common) - common = {clnode(r) for r in dag.headsetofconnecteds(all)} + + clnode = repo.changelog.node + common = repo.revs('heads(::%ln)', common) + common = {clnode(r) for r in common} else: nodes = None if pushedrevs: