--- a/mercurial/manifest.py Wed Mar 01 15:50:01 2017 -0800
+++ b/mercurial/manifest.py Wed Mar 01 16:39:48 2017 -0800
@@ -1261,8 +1261,6 @@
class do not care about the implementation details of the actual manifests
they receive (i.e. tree or flat or lazily loaded, etc)."""
def __init__(self, opener, repo):
- self._repo = repo
-
usetreemanifest = False
cachesize = 4
@@ -1309,7 +1307,7 @@
if node not in dirlog.nodemap:
raise LookupError(node, dirlog.indexfile,
_('no node'))
- m = treemanifestctx(self._repo, dir, node)
+ m = treemanifestctx(self, dir, node)
else:
raise error.Abort(
_("cannot ask for manifest directory '%s' in a flat "
@@ -1320,9 +1318,9 @@
raise LookupError(node, self._revlog.indexfile,
_('no node'))
if self._treeinmem:
- m = treemanifestctx(self._repo, '', node)
+ m = treemanifestctx(self, '', node)
else:
- m = manifestctx(self._repo, node)
+ m = manifestctx(self, node)
if node != revlog.nullid:
mancache = self._dirmancache.get(dir)
@@ -1337,18 +1335,18 @@
self._revlog.clearcaches()
class memmanifestctx(object):
- def __init__(self, repo):
- self._repo = repo
+ def __init__(self, manifestlog):
+ self._manifestlog = manifestlog
self._manifestdict = manifestdict()
def _revlog(self):
- return self._repo.manifestlog._revlog
+ return self._manifestlog._revlog
def new(self):
- return memmanifestctx(self._repo)
+ return memmanifestctx(self._manifestlog)
def copy(self):
- memmf = memmanifestctx(self._repo)
+ memmf = memmanifestctx(self._manifestlog)
memmf._manifestdict = self.read().copy()
return memmf
@@ -1363,8 +1361,8 @@
"""A class representing a single revision of a manifest, including its
contents, its parent revs, and its linkrev.
"""
- def __init__(self, repo, node):
- self._repo = repo
+ def __init__(self, manifestlog, node):
+ self._manifestlog = manifestlog
self._data = None
self._node = node
@@ -1377,16 +1375,16 @@
#self.linkrev = revlog.linkrev(rev)
def _revlog(self):
- return self._repo.manifestlog._revlog
+ return self._manifestlog._revlog
def node(self):
return self._node
def new(self):
- return memmanifestctx(self._repo)
+ return memmanifestctx(self._manifestlog)
def copy(self):
- memmf = memmanifestctx(self._repo)
+ memmf = memmanifestctx(self._manifestlog)
memmf._manifestdict = self.read().copy()
return memmf
@@ -1431,7 +1429,7 @@
if revlog._usemanifestv2:
# Need to perform a slow delta
r0 = revlog.deltaparent(revlog.rev(self._node))
- m0 = self._repo.manifestlog[revlog.node(r0)].read()
+ m0 = self._manifestlog[revlog.node(r0)].read()
m1 = self.read()
md = manifestdict()
for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems():
@@ -1449,19 +1447,19 @@
return self.read().find(key)
class memtreemanifestctx(object):
- def __init__(self, repo, dir=''):
- self._repo = repo
+ def __init__(self, manifestlog, dir=''):
+ self._manifestlog = manifestlog
self._dir = dir
self._treemanifest = treemanifest()
def _revlog(self):
- return self._repo.manifestlog._revlog
+ return self._manifestlog._revlog
def new(self, dir=''):
- return memtreemanifestctx(self._repo, dir=dir)
+ return memtreemanifestctx(self._manifestlog, dir=dir)
def copy(self):
- memmf = memtreemanifestctx(self._repo, dir=self._dir)
+ memmf = memtreemanifestctx(self._manifestlog, dir=self._dir)
memmf._treemanifest = self._treemanifest.copy()
return memmf
@@ -1470,13 +1468,13 @@
def write(self, transaction, link, p1, p2, added, removed):
def readtree(dir, node):
- return self._repo.manifestlog.get(dir, node).read()
+ return self._manifestlog.get(dir, node).read()
return self._revlog().add(self._treemanifest, transaction, link, p1, p2,
added, removed, readtree=readtree)
class treemanifestctx(object):
- def __init__(self, repo, dir, node):
- self._repo = repo
+ def __init__(self, manifestlog, dir, node):
+ self._manifestlog = manifestlog
self._dir = dir
self._data = None
@@ -1490,7 +1488,7 @@
#self.linkrev = revlog.linkrev(rev)
def _revlog(self):
- return self._repo.manifestlog._revlog.dirlog(self._dir)
+ return self._manifestlog._revlog.dirlog(self._dir)
def read(self):
if self._data is None:
@@ -1504,8 +1502,7 @@
def readsubtree(dir, subm):
# Set verify to False since we need to be able to create
# subtrees for trees that don't exist on disk.
- return self._repo.manifestlog.get(dir, subm,
- verify=False).read()
+ return self._manifestlog.get(dir, subm, verify=False).read()
m.read(gettext, readsubtree)
m.setnode(self._node)
self._data = m
@@ -1521,10 +1518,10 @@
return self._node
def new(self, dir=''):
- return memtreemanifestctx(self._repo, dir=dir)
+ return memtreemanifestctx(self._manifestlog, dir=dir)
def copy(self):
- memmf = memtreemanifestctx(self._repo, dir=self._dir)
+ memmf = memtreemanifestctx(self._manifestlog, dir=self._dir)
memmf._treemanifest = self.read().copy()
return memmf
@@ -1551,7 +1548,7 @@
else:
# Need to perform a slow delta
r0 = revlog.deltaparent(revlog.rev(self._node))
- m0 = self._repo.manifestlog.get(self._dir, revlog.node(r0)).read()
+ m0 = self._manifestlog.get(self._dir, revlog.node(r0)).read()
m1 = self.read()
md = treemanifest(dir=self._dir)
for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems():