comparison mercurial/debugcommands.py @ 39159:5b32b3c618b2

setdiscovery: don't use dagutil for rev -> node conversions We don't need to use dagutil to perform a simple rev -> node conversion. I haven't measured, but the new code is likely faster, as we avoid extra function calls and avoid some attribute lookups. Differential Revision: https://phab.mercurial-scm.org/D4304
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 16 Aug 2018 19:39:47 +0000
parents 9d6fab487c13
children 858a12846f4f
comparison
equal deleted inserted replaced
39158:b0c73866c9fb 39159:5b32b3c618b2
789 force=True) 789 force=True)
790 common = set(common) 790 common = set(common)
791 if not opts.get('nonheads'): 791 if not opts.get('nonheads'):
792 ui.write(("unpruned common: %s\n") % 792 ui.write(("unpruned common: %s\n") %
793 " ".join(sorted(short(n) for n in common))) 793 " ".join(sorted(short(n) for n in common)))
794 dag = dagutil.revlogdag(repo.changelog) 794 cl = repo.changelog
795 clnode = cl.node
796 dag = dagutil.revlogdag(cl)
795 all = dag.ancestorset(dag.internalizeall(common)) 797 all = dag.ancestorset(dag.internalizeall(common))
796 common = dag.externalizeall(dag.headsetofconnecteds(all)) 798 common = {clnode(r) for r in dag.headsetofconnecteds(all)}
797 else: 799 else:
798 nodes = None 800 nodes = None
799 if pushedrevs: 801 if pushedrevs:
800 revs = scmutil.revrange(repo, pushedrevs) 802 revs = scmutil.revrange(repo, pushedrevs)
801 nodes = [repo[r].node() for r in revs] 803 nodes = [repo[r].node() for r in revs]