Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/setdiscovery.py @ 42758:334c1ea57136
discovery: new devel.discovery.randomize option
By default, this is True, but setting it to False is a uniform
way to kill all randomness in integration tests such as test-setdiscovery.t
By "uniform" we mean that it can be passed to implementations in other
languages, for which the monkey-patching of random.sample would be
irrelevant.
In the above mentioned test file, we use it right away,
replacing the adhoc extension that had the same purpose, and to derandomize a
case with many round-trips, that we'll need to behave uniformly in the Rust
version.
Differential Revision: https://phab.mercurial-scm.org/D6427
author | Georges Racinet <georges.racinet@octobus.net> |
---|---|
date | Tue, 21 May 2019 17:44:15 +0200 |
parents | 4e7bd6180b53 |
children | 4d20b1fe8a72 |
comparison
equal
deleted
inserted
replaced
42757:4e7bd6180b53 | 42758:334c1ea57136 |
---|---|
388 ownheadhashes = [clnode(r) for r in ownheads] | 388 ownheadhashes = [clnode(r) for r in ownheads] |
389 return ownheadhashes, True, srvheadhashes | 389 return ownheadhashes, True, srvheadhashes |
390 | 390 |
391 # full blown discovery | 391 # full blown discovery |
392 | 392 |
393 disco = partialdiscovery(local, ownheads, remote.limitedarguments) | 393 randomize = ui.configbool('devel', 'discovery.randomize') |
394 disco = partialdiscovery(local, ownheads, remote.limitedarguments, | |
395 randomize=randomize) | |
394 # treat remote heads (and maybe own heads) as a first implicit sample | 396 # treat remote heads (and maybe own heads) as a first implicit sample |
395 # response | 397 # response |
396 disco.addcommons(knownsrvheads) | 398 disco.addcommons(knownsrvheads) |
397 disco.addinfo(zip(sample, yesno)) | 399 disco.addinfo(zip(sample, yesno)) |
398 | 400 |