setdiscovery: factorize similar sampling code
authorPierre-Yves David <pierre-yves.david@fb.com>
Tue, 06 Jan 2015 16:30:52 -0800
changeset 23747 f82173a90c2c
parent 23746 4ef2f2fa8b8b
child 23748 4ab66de46a96
setdiscovery: factorize similar sampling code We are using full sampling of 'fullsamplesize' in both case. The only difference is the debug message. So we factorise the sampling code and put the message in an extra conditional. This is going to help making changes around the sampling logic. Such changes are needed to improve discovery performance on highly headed repository.
mercurial/setdiscovery.py
--- a/mercurial/setdiscovery.py	Tue Jan 06 16:30:37 2015 -0800
+++ b/mercurial/setdiscovery.py	Tue Jan 06 16:30:52 2015 -0800
@@ -197,13 +197,11 @@
         if not undecided:
             break
 
-        if full:
-            ui.note(_("sampling from both directions\n"))
-            sample = _takefullsample(dag, undecided, size=fullsamplesize)
-            targetsize = fullsamplesize
-        elif common.hasbases():
-            # use cheapish initial sample
-            ui.debug("taking initial sample\n")
+        if full or common.hasbases():
+            if full:
+                ui.note(_("sampling from both directions\n"))
+            else:
+                ui.debug("taking initial sample\n")
             sample = _takefullsample(dag, undecided, size=fullsamplesize)
             targetsize = fullsamplesize
         else: