[PATCH 4 of 9 "] discovery: use a lower level but faster way to retrieve parents

Yuya Nishihara yuya at tcha.org
Wed Mar 6 15:35:27 EST 2019


On Tue, 05 Mar 2019 18:39:15 +0100, Pierre-Yves David wrote:
> # HG changeset patch
> # User Pierre-Yves David <pierre-yves.david at octobus.net>
> # Date 1551311787 -3600
> #      Thu Feb 28 00:56:27 2019 +0100
> # Node ID ffd98d208aa7f92e13bf233b6d752cd2d292ebbe
> # Parent  82035c1d714f8f3911632ea1271002745fc620f4
> # EXP-Topic discovery-speedup
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r ffd98d208aa7
> discovery: use a lower level but faster way to retrieve parents

> diff --git a/mercurial/setdiscovery.py b/mercurial/setdiscovery.py
> --- a/mercurial/setdiscovery.py
> +++ b/mercurial/setdiscovery.py
> @@ -165,6 +165,12 @@ class partialdiscovery(object):
>          # common.bases and all its ancestors
>          return self._common.basesheads()
>  
> +    def _parentsgetter(self):
> +        getrev = self._repo.changelog.index.__getitem__
> +        def getparents(r):
> +            return getrev(r)[5:6]
> +        return getparents

Queued, but it's probably better to use revlog._uncheckedparentrevs() than
peeking a raw index entry. Can you send a follow up?


More information about the Mercurial-devel mailing list