Comments
Patch
@@ -201,19 +201,23 @@ def findcommonheads(ui, local, remote,
break
if full:
ui.note(_("sampling from both directions\n"))
sample = _takefullsample(dag, undecided, size=fullsamplesize)
+ targetsize = fullsamplesize
elif common:
# use cheapish initial sample
ui.debug("taking initial sample\n")
sample = _takefullsample(dag, undecided, size=fullsamplesize)
+ targetsize = fullsamplesize
else:
# use even cheaper initial sample
ui.debug("taking quick initial sample\n")
sample = _takequicksample(dag, undecided, size=initialsamplesize,
initial=True)
+ targetsize = initialsamplesize
+ sample = _limitsample(sample, targetsize)
roundtrips += 1
ui.progress(_('searching'), roundtrips, unit=_('queries'))
ui.debug("query %i; still undecided: %i, sample size is: %i\n"
% (roundtrips, len(undecided), len(sample)))
@@ -309,21 +309,27 @@ One with >200 heads, which used to use u
comparing with b
query 1; heads
searching for changes
taking quick initial sample
searching: 2 queries
- query 2; still undecided: 1240, sample size is: 260
+ query 2; still undecided: 1240, sample size is: 100
sampling from both directions
searching: 3 queries
- query 3; still undecided: 980, sample size is: 260
+ query 3; still undecided: 1140, sample size is: 200
sampling from both directions
searching: 4 queries
- query 4; still undecided: 720, sample size is: 260
+ query 4; still undecided: 940, sample size is: 200
sampling from both directions
searching: 5 queries
- query 5; still undecided: 460, sample size is: 200
- 5 total queries
+ query 5; still undecided: 740, sample size is: 200
+ sampling from both directions
+ searching: 6 queries
+ query 6; still undecided: 540, sample size is: 200
+ sampling from both directions
+ searching: 7 queries
+ query 7; still undecided: 44, sample size is: 44
+ 7 total queries
common heads: 3ee37d65064a
Test actual protocol when pulling one new head in addition to common heads
$ hg clone -U b c