mercurial/setdiscovery.py
changeset 42441 b9ff059fd194
parent 42421 5b34972a0094
child 42757 4e7bd6180b53
--- a/mercurial/setdiscovery.py	Thu May 16 16:22:20 2019 +0200
+++ b/mercurial/setdiscovery.py	Wed Jun 05 11:23:25 2019 +0200
@@ -242,13 +242,13 @@
 
         # update from roots
         revsroots = set(repo.revs('roots(%ld)', revs))
-        if not self._respectsize:
-            size = max(size, len(revsroots))
-
         childrenrevs = self._childrengetter()
-
         _updatesample(revs, revsroots, sample, childrenrevs)
         assert sample
+
+        if not self._respectsize:
+            size = max(size, min(len(revsroots), len(revsheads)))
+
         sample = _limitsample(sample, size)
         if len(sample) < size:
             more = size - len(sample)