On Sun, Jul 09, 2017 at 07:55:22PM +0200, Boris Feld wrote: > # HG changeset patch > # User Boris Feld <boris.f...@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@mercurial-scm.org > https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel