Show More
@@ -1274,7 +1274,7 b' class manifestlog(object):' | |||||
1274 | return cachemf |
|
1274 | return cachemf | |
1275 |
|
1275 | |||
1276 | if self._treeinmem: |
|
1276 | if self._treeinmem: | |
1277 |
m = treemanifestctx(self._re |
|
1277 | m = treemanifestctx(self._repo, '', node) | |
1278 | else: |
|
1278 | else: | |
1279 | m = manifestctx(self._repo, node) |
|
1279 | m = manifestctx(self._repo, node) | |
1280 | if node != revlog.nullid: |
|
1280 | if node != revlog.nullid: | |
@@ -1344,9 +1344,8 b' class manifestctx(object):' | |||||
1344 | return manifestdict(d) |
|
1344 | return manifestdict(d) | |
1345 |
|
1345 | |||
1346 | class treemanifestctx(object): |
|
1346 | class treemanifestctx(object): | |
1347 |
def __init__(self, re |
|
1347 | def __init__(self, repo, dir, node): | |
1348 | revlog = revlog.dirlog(dir) |
|
1348 | self._repo = repo | |
1349 | self._revlog = revlog |
|
|||
1350 | self._dir = dir |
|
1349 | self._dir = dir | |
1351 | self._data = None |
|
1350 | self._data = None | |
1352 |
|
1351 | |||
@@ -1359,23 +1358,27 b' class treemanifestctx(object):' | |||||
1359 | #rev = revlog.rev(node) |
|
1358 | #rev = revlog.rev(node) | |
1360 | #self.linkrev = revlog.linkrev(rev) |
|
1359 | #self.linkrev = revlog.linkrev(rev) | |
1361 |
|
1360 | |||
|
1361 | def _revlog(self): | |||
|
1362 | return self._repo.manifestlog._revlog.dirlog(self._dir) | |||
|
1363 | ||||
1362 | def read(self): |
|
1364 | def read(self): | |
1363 | if not self._data: |
|
1365 | if not self._data: | |
|
1366 | rl = self._revlog() | |||
1364 | if self._node == revlog.nullid: |
|
1367 | if self._node == revlog.nullid: | |
1365 | self._data = treemanifest() |
|
1368 | self._data = treemanifest() | |
1366 |
elif |
|
1369 | elif rl._treeondisk: | |
1367 | m = treemanifest(dir=self._dir) |
|
1370 | m = treemanifest(dir=self._dir) | |
1368 | def gettext(): |
|
1371 | def gettext(): | |
1369 |
return |
|
1372 | return rl.revision(self._node) | |
1370 | def readsubtree(dir, subm): |
|
1373 | def readsubtree(dir, subm): | |
1371 |
return treemanifestctx(self._re |
|
1374 | return treemanifestctx(self._repo, dir, subm).read() | |
1372 | m.read(gettext, readsubtree) |
|
1375 | m.read(gettext, readsubtree) | |
1373 | m.setnode(self._node) |
|
1376 | m.setnode(self._node) | |
1374 | self._data = m |
|
1377 | self._data = m | |
1375 | else: |
|
1378 | else: | |
1376 |
text = |
|
1379 | text = revlog.revision(self._node) | |
1377 | arraytext = array.array('c', text) |
|
1380 | arraytext = array.array('c', text) | |
1378 |
|
|
1381 | rl.fulltextcache[self._node] = arraytext | |
1379 | self._data = treemanifest(dir=self._dir, text=text) |
|
1382 | self._data = treemanifest(dir=self._dir, text=text) | |
1380 |
|
1383 | |||
1381 | return self._data |
|
1384 | return self._data | |
@@ -1385,9 +1388,9 b' class treemanifestctx(object):' | |||||
1385 |
|
1388 | |||
1386 | def readdelta(self): |
|
1389 | def readdelta(self): | |
1387 | # Need to perform a slow delta |
|
1390 | # Need to perform a slow delta | |
1388 | revlog = self._revlog |
|
1391 | revlog = self._revlog() | |
1389 | r0 = revlog.deltaparent(revlog.rev(self._node)) |
|
1392 | r0 = revlog.deltaparent(revlog.rev(self._node)) | |
1390 |
m0 = treemanifestctx( |
|
1393 | m0 = treemanifestctx(self._repo, self._dir, revlog.node(r0)).read() | |
1391 | m1 = self.read() |
|
1394 | m1 = self.read() | |
1392 | md = treemanifest(dir=self._dir) |
|
1395 | md = treemanifest(dir=self._dir) | |
1393 | for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems(): |
|
1396 | for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems(): | |
@@ -1398,7 +1401,7 b' class treemanifestctx(object):' | |||||
1398 | return md |
|
1401 | return md | |
1399 |
|
1402 | |||
1400 | def readfast(self): |
|
1403 | def readfast(self): | |
1401 | rl = self._revlog |
|
1404 | rl = self._revlog() | |
1402 | r = rl.rev(self._node) |
|
1405 | r = rl.rev(self._node) | |
1403 | deltaparent = rl.deltaparent(r) |
|
1406 | deltaparent = rl.deltaparent(r) | |
1404 | if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r): |
|
1407 | if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r): |
General Comments 0
You need to be logged in to leave comments.
Login now