[PATCH 10 of 14] obsstore: pass a repository object for initialisation

Boris Feld boris.feld at octobus.net
Sun Jul 9 13:55:22 EDT 2017


# 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.

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)))


More information about the Mercurial-devel mailing list