D6427: discovery: new devel.discovery.randomize option
Alphare (Raphaël Gomès)
phabricator at mercurial-scm.org
Tue Jul 23 09:15:48 UTC 2019
Alphare updated this revision to Diff 16015.
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D6427?vs=15937&id=16015
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D6427/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D6427
AFFECTED FILES
mercurial/configitems.py
mercurial/setdiscovery.py
tests/test-setdiscovery.t
CHANGE DETAILS
diff --git a/tests/test-setdiscovery.t b/tests/test-setdiscovery.t
--- a/tests/test-setdiscovery.t
+++ b/tests/test-setdiscovery.t
@@ -968,7 +968,7 @@
updating to branch b
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg -R a debugdiscovery b --debug --verbose --config progress.debug=true
+ $ hg -R a debugdiscovery b --debug --verbose --config progress.debug=true --config devel.discovery.randomize=false
comparing with b
query 1; heads
searching for changes
@@ -980,11 +980,14 @@
query 3; still undecided: 980, sample size is: 200
sampling from both directions
searching: 4 queries
- query 4; still undecided: 435, sample size is: 210
+ query 4; still undecided: 497, sample size is: 210
sampling from both directions
searching: 5 queries
- query 5; still undecided: 185, sample size is: 185
- 5 total queries in *.????s (glob)
+ query 5; still undecided: 285, sample size is: 220
+ sampling from both directions
+ searching: 6 queries
+ query 6; still undecided: 63, sample size is: 63
+ 6 total queries in *.????s (glob)
elapsed time: * seconds (glob)
heads summary:
total common heads: 1
@@ -1093,16 +1096,9 @@
give 'all remote heads known locally' without checking the remaining heads -
fixed in 86c35b7ae300:
- $ cat >> $TESTTMP/unrandomsample.py << EOF
- > import random
- > def sample(population, k):
- > return sorted(population)[:k]
- > random.sample = sample
- > EOF
-
$ cat >> r1/.hg/hgrc << EOF
- > [extensions]
- > unrandomsample = $TESTTMP/unrandomsample.py
+ > [devel]
+ > discovery.randomize = False
> EOF
$ hg -R r1 outgoing r2 -T'{rev} ' --config extensions.blackbox= \
diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
--- a/mercurial/setdiscovery.py
+++ b/mercurial/setdiscovery.py
@@ -390,7 +390,9 @@
# full blown discovery
- disco = partialdiscovery(local, ownheads, remote.limitedarguments)
+ randomize = ui.configbool('devel', 'discovery.randomize')
+ disco = partialdiscovery(local, ownheads, remote.limitedarguments,
+ randomize=randomize)
# treat remote heads (and maybe own heads) as a first implicit sample
# response
disco.addcommons(knownsrvheads)
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -415,6 +415,9 @@
coreconfigitem('devel', 'debug.peer-request',
default=False,
)
+coreconfigitem('devel', 'discovery.randomize',
+ default=True,
+)
_registerdiffopts(section='diff')
coreconfigitem('email', 'bcc',
default=None,
To: gracinet, #hg-reviewers, kevincox
Cc: kevincox, mercurial-devel
More information about the Mercurial-devel
mailing list