##// END OF EJS Templates
setdiscovery: extract sample limitation in a `_limitsample` function...
Pierre-Yves David -
r23083:ee45f5c2 stable
parent child Browse files
Show More
@@ -105,14 +105,19 b' def _takefullsample(dag, nodes, size):'
105 # update from roots
105 # update from roots
106 _updatesample(dag.inverse(), nodes, sample, always)
106 _updatesample(dag.inverse(), nodes, sample, always)
107 assert sample
107 assert sample
108 if len(sample) > desiredlen:
108 sample = _limitsample(sample, desiredlen)
109 sample = set(random.sample(sample, desiredlen))
109 if len(sample) < desiredlen:
110 elif len(sample) < desiredlen:
111 more = desiredlen - len(sample)
110 more = desiredlen - len(sample)
112 sample.update(random.sample(list(nodes - sample - always), more))
111 sample.update(random.sample(list(nodes - sample - always), more))
113 sample.update(always)
112 sample.update(always)
114 return sample
113 return sample
115
114
115 def _limitsample(sample, desiredlen):
116 """return a random subset of sample of at most desiredlen item"""
117 if len(sample) > desiredlen:
118 sample = set(random.sample(sample, desiredlen))
119 return sample
120
116 def findcommonheads(ui, local, remote,
121 def findcommonheads(ui, local, remote,
117 initialsamplesize=100,
122 initialsamplesize=100,
118 fullsamplesize=200,
123 fullsamplesize=200,
General Comments 0
You need to be logged in to leave comments. Login now