[PATCH 01 of 10 V3] discovery: minor fix to some conditionals

Yuya Nishihara yuya at tcha.org
Sat Jan 5 21:04:35 EST 2019


On Fri, 04 Jan 2019 23:45:20 +0100, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1546620599 -3600
> #      Fri Jan 04 17:49:59 2019 +0100
> # Node ID 562198ca3bb37b9764dfe93d56cbbf70c2bb093d
> # Parent  5c68b617ba2463eb6f1372a24b139a376c6bf6bd
> # EXP-Topic discovery-refactor
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r 562198ca3bb3
> discovery: minor fix to some conditionals
> 
> Since `size` is the upper limit of the sample, we should include it in the
> check. Otherwize the `more` variable will be zero and the sampling will be
> useless
> 
> diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
> --- a/mercurial/setdiscovery.py
> +++ b/mercurial/setdiscovery.py
> @@ -146,7 +146,7 @@ def _takefullsample(repo, headrevs, revs
>      _updatesample(revs, revsroots, sample, children.__getitem__)
>      assert sample
>      sample = _limitsample(sample, size)
> -    if len(sample) < size:
> +    if len(sample) <= size:
>          more = size - len(sample)
>          sample.update(random.sample(list(revs - sample), more))

The original condition looks more correct since there's no reason to pick
0 more revision if len(sample) == size.


More information about the Mercurial-devel mailing list