# HG changeset patch # User Arun Kulshreshtha # Date 1661290273 14400 # Node ID a0b57cabc24543e10ed0583d432709f1c2b7737f # Parent b07465adbcc8588a9f476b003bdcb115e0d2e7d2 bisect: bypass changectx when translating revs to nodes When resolving the revset given by the user into node hashes, use the changelog to perform the translation rather than the repo object. This avoids the overhead of constructing a changectx which is immediately discarded. diff -r b07465adbcc8 -r a0b57cabc245 mercurial/commands.py --- a/mercurial/commands.py Wed Aug 24 16:38:13 2022 +0100 +++ b/mercurial/commands.py Tue Aug 23 17:31:13 2022 -0400 @@ -1035,7 +1035,7 @@ state = hbisect.load_state(repo) if rev: - nodes = [repo[i].node() for i in logcmdutil.revrange(repo, rev)] + nodes = [repo.changelog.node(i) for i in logcmdutil.revrange(repo, rev)] else: nodes = [repo.lookup(b'.')]