[PATCH 10 of 14] obsstore: pass a repository object for initialisation
Augie Fackler
raf at durin42.com
Fri Jul 14 18:11:47 UTC 2017
On Sun, Jul 09, 2017 at 07:55:22PM +0200, Boris Feld wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1495197862 -7200
> # Fri May 19 14:44:22 2017 +0200
> # Node ID 985d753d4f5799f2a332140adedb06efd465d62b
> # Parent 63214f4d9a766761259b650539eede424413e6a2
> # EXP-Topic obs-cache
> obsstore: pass a repository object for initialisation
>
> The cache will needs a repository object (to grab a 'vfs'), so we
> pass a repo object instead of just the 'svfs' and we grab the 'svfs'
> from there.
I suspect I'll get to it, but why does this cache want to know about
anything outside of svfs?
I'm pretty uncomfortable (architecturally) with passing all of `self`
into the cache layer.
>
> diff -r 63214f4d9a76 -r 985d753d4f57 contrib/perf.py
> --- a/contrib/perf.py Fri May 19 14:46:26 2017 +0200
> +++ b/contrib/perf.py Fri May 19 14:44:22 2017 +0200
> @@ -1391,8 +1391,7 @@
>
> Result is the number of markers in the repo."""
> timer, fm = gettimer(ui)
> - svfs = getsvfs(repo)
> - timer(lambda: len(obsolete.obsstore(svfs)))
> + timer(lambda: len(obsolete.obsstore(repo)))
> fm.end()
>
> @command('perflrucachedict', formatteropts +
> diff -r 63214f4d9a76 -r 985d753d4f57 mercurial/obsolete.py
> --- a/mercurial/obsolete.py Fri May 19 14:46:26 2017 +0200
> +++ b/mercurial/obsolete.py Fri May 19 14:44:22 2017 +0200
> @@ -519,10 +519,10 @@
> # 1024 byte should be about 10 markers in average
> _obskeyspan = 1024
>
> - def __init__(self, svfs, defaultformat=_fm1version, readonly=False):
> + def __init__(self, repo, defaultformat=_fm1version, readonly=False):
> # caches for various obsolescence related cache
> self.caches = {}
> - self.svfs = svfs
> + self.svfs = repo.svfs
> self._defaultformat = defaultformat
> self._readonly = readonly
>
> @@ -799,7 +799,7 @@
> if defaultformat is not None:
> kwargs['defaultformat'] = defaultformat
> readonly = not isenabled(repo, createmarkersopt)
> - store = obsstore(repo.svfs, readonly=readonly, **kwargs)
> + store = obsstore(repo, readonly=readonly, **kwargs)
> if store and readonly:
> ui.warn(_('obsolete feature not enabled but %i markers found!\n')
> % len(list(store)))
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list