mercurial/setdiscovery.py
changeset 23806 d6cbbe3baef0
parent 23747 f82173a90c2c
child 23807 e97e363a7000
equal deleted inserted replaced
23805:345042e024dc 23806:d6cbbe3baef0
    82         # This could be bad if there are very many heads, all unknown to the
    82         # This could be bad if there are very many heads, all unknown to the
    83         # server. We're counting on long request support here.
    83         # server. We're counting on long request support here.
    84         return always, None, desiredlen
    84         return always, None, desiredlen
    85     return always, set(), desiredlen
    85     return always, set(), desiredlen
    86 
    86 
    87 def _takequicksample(dag, nodes, size, initial):
    87 def _takequicksample(dag, nodes, size):
    88     always, sample, desiredlen = _setupsample(dag, nodes, size)
    88     always, sample, desiredlen = _setupsample(dag, nodes, size)
    89     if sample is None:
    89     if sample is None:
    90         return always
    90         return always
    91     if initial:
    91     _updatesample(dag, None, sample, always, quicksamplesize=desiredlen)
    92         fromset = None
       
    93     else:
       
    94         fromset = nodes
       
    95     _updatesample(dag, fromset, sample, always, quicksamplesize=desiredlen)
       
    96     sample.update(always)
    92     sample.update(always)
    97     return sample
    93     return sample
    98 
    94 
    99 def _takefullsample(dag, nodes, size):
    95 def _takefullsample(dag, nodes, size):
   100     always, sample, desiredlen = _setupsample(dag, nodes, size)
    96     always, sample, desiredlen = _setupsample(dag, nodes, size)
   205             sample = _takefullsample(dag, undecided, size=fullsamplesize)
   201             sample = _takefullsample(dag, undecided, size=fullsamplesize)
   206             targetsize = fullsamplesize
   202             targetsize = fullsamplesize
   207         else:
   203         else:
   208             # use even cheaper initial sample
   204             # use even cheaper initial sample
   209             ui.debug("taking quick initial sample\n")
   205             ui.debug("taking quick initial sample\n")
   210             sample = _takequicksample(dag, undecided, size=initialsamplesize,
   206             sample = _takequicksample(dag, undecided, size=initialsamplesize)
   211                                       initial=True)
       
   212             targetsize = initialsamplesize
   207             targetsize = initialsamplesize
   213         sample = _limitsample(sample, targetsize)
   208         sample = _limitsample(sample, targetsize)
   214 
   209 
   215         roundtrips += 1
   210         roundtrips += 1
   216         ui.progress(_('searching'), roundtrips, unit=_('queries'))
   211         ui.progress(_('searching'), roundtrips, unit=_('queries'))