changeset 35149:fd8b6b183073

hbisect: pass repo into hbisect.bisect Pass repo into the bisect function to get more flexibility in what we can call. This will allow us to use revsets to rewrite parts of the ancestor and children calculation in later patches. Test Plan: python run-tests.py test-bisect* Differential Revision: https://phab.mercurial-scm.org/D1497
author David Soria Parra <davidsp@fb.com>
date Thu, 23 Nov 2017 14:11:27 -0800
parents fa2395db68c6
children ec25c8275cfa
files mercurial/commands.py mercurial/hbisect.py
diffstat 2 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/commands.py	Wed Nov 22 19:24:22 2017 -0800
+++ b/mercurial/commands.py	Thu Nov 23 14:11:27 2017 -0800
@@ -854,7 +854,7 @@
                 ui.status(_('changeset %d:%s: %s\n') % (ctx, ctx, transition))
                 hbisect.checkstate(state)
                 # bisect
-                nodes, changesets, bgood = hbisect.bisect(repo.changelog, state)
+                nodes, changesets, bgood = hbisect.bisect(repo, state)
                 # update to next check
                 node = nodes[0]
                 mayupdate(repo, node, show_stats=False)
@@ -867,7 +867,7 @@
     hbisect.checkstate(state)
 
     # actually bisect
-    nodes, changesets, good = hbisect.bisect(repo.changelog, state)
+    nodes, changesets, good = hbisect.bisect(repo, state)
     if extend:
         if not changesets:
             extendnode = hbisect.extendrange(repo, state, nodes, good)
--- a/mercurial/hbisect.py	Wed Nov 22 19:24:22 2017 -0800
+++ b/mercurial/hbisect.py	Thu Nov 23 14:11:27 2017 -0800
@@ -21,7 +21,7 @@
     error,
 )
 
-def bisect(changelog, state):
+def bisect(repo, state):
     """find the next node (if any) for testing during a bisect search.
     returns a (nodes, number, good) tuple.
 
@@ -32,6 +32,7 @@
     if searching for a first bad one.
     """
 
+    changelog = repo.changelog
     clparents = changelog.parentrevs
     skip = set([changelog.rev(n) for n in state['skip']])