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')) |