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