[PATCH 07 of 10 V2] discovery: add a `iscomplete` method to the `partialdiscovery` object
Boris Feld
boris.feld at octobus.net
Fri Jan 4 12:29:28 EST 2019
# HG changeset patch
# User Boris Feld <boris.feld at octobus.net>
# Date 1545964783 -3600
# Fri Dec 28 03:39:43 2018 +0100
# Node ID d898ad0f5ce47369d84dace19edf4024edce52ff
# Parent 239193146a8378d7567e566bb00764415be709ae
# EXP-Topic discovery-refactor
# Available At https://bitbucket.org/octobus/mercurial-devel/
# hg pull https://bitbucket.org/octobus/mercurial-devel/ -r d898ad0f5ce4
discovery: add a `iscomplete` method to the `partialdiscovery` object
The method is used by higher level logic to know if the initial discovery
question has been answered.
diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
--- a/mercurial/setdiscovery.py
+++ b/mercurial/setdiscovery.py
@@ -186,6 +186,10 @@ class partialdiscovery(object):
"""return True is we have any clue about the remote state"""
return self._common.hasbases()
+ def iscomplete(self):
+ """True is all the necessary data have been gathered"""
+ return self._undecided is not None and not self._undecided
+
@property
def undecided(self):
if self._undecided is not None:
@@ -275,7 +279,7 @@ def findcommonheads(ui, local, remote,
full = False
progress = ui.makeprogress(_('searching'), unit=_('queries'))
- while disco.undecided:
+ while not disco.iscomplete():
if sample:
missinginsample = [n for i, n in enumerate(sample) if not yesno[i]]
@@ -288,7 +292,7 @@ def findcommonheads(ui, local, remote,
disco.undecided.difference_update(missing)
- if not disco.undecided:
+ if disco.iscomplete():
break
if full or disco.hasinfo():
More information about the Mercurial-devel
mailing list