[PATCH 2 of 8] discovery: introduce a partialdiscovery object

Pulkit Goyal 7895pulkit at gmail.com
Fri Jan 4 16:01:46 UTC 2019


On Mon, Dec 31, 2018 at 11:13 PM Boris Feld <boris.feld at octobus.net> wrote:

> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1545963274 -3600
> #      Fri Dec 28 03:14:34 2018 +0100
> # Node ID db1f1838096a110cc4735aeaffac0e65bde37b50
> # Parent  f94ade1a2714d498d05f5b7714f4b869224c0596
> # EXP-Topic discovery-refactor
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r
> db1f1838096a
> discovery: introduce a partialdiscovery object
>
> This object will ultimately gather the data about common, undecided and
> missing revs in a single place and deal with most graph related
> computations.
>
> The goal is both to clarify the algorithm and to help provides a simple and
> clear API that can be reimplemented in Rust.
>
> For now, we only moved the `common` set in the object. In this commit, some
> direct access to the "private" `disco._common` attribute persist. They have
> not been removed yet because we won't need to expose a full API identical
> to
> `incrementalmissingancestors` and it seems simpler to access the attribute
> directly until the replacement is in place.
>
> diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
> --- a/mercurial/setdiscovery.py
> +++ b/mercurial/setdiscovery.py
> @@ -161,6 +161,28 @@ def _limitsample(sample, desiredlen):
>          sample = set(random.sample(sample, desiredlen))
>      return sample
>
> +class partialdiscovery(object):
> +    """an object representing ongoing discovery
> +
> +    Feed with data from the remote repository, this object keep track of
> the
> +    current set of changeset in various states:
> +
> +    - common: own nodes I know we both know
> +    """
>

"own nodes I know we both know" -> this is not a helpful documentation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20190104/f6394a71/attachment.html>


More information about the Mercurial-devel mailing list