comparison mercurial/manifest.py @ 30308:bce79dfcf5e4

manifest: get rid of manifest.readshallowfast This removes manifest.readshallowfast and converts it's one user to use manifestlog instead.
author Durham Goode <durham@fb.com>
date Wed, 02 Nov 2016 17:10:47 -0700
parents 78f3c7166f0d
children f65faa4422c8
comparison
equal deleted inserted replaced
30307:78f3c7166f0d 30308:bce79dfcf5e4
1349 rl._fulltextcache[self._node] = arraytext 1349 rl._fulltextcache[self._node] = arraytext
1350 self._data = manifestdict(text) 1350 self._data = manifestdict(text)
1351 return self._data 1351 return self._data
1352 1352
1353 def readfast(self, shallow=False): 1353 def readfast(self, shallow=False):
1354 '''Calls either readdelta or read, based on which would be less work.
1355 readdelta is called if the delta is against the p1, and therefore can be
1356 read quickly.
1357
1358 If `shallow` is True, nothing changes since this is a flat manifest.
1359 '''
1354 rl = self._repo.manifestlog._revlog 1360 rl = self._repo.manifestlog._revlog
1355 r = rl.rev(self._node) 1361 r = rl.rev(self._node)
1356 deltaparent = rl.deltaparent(r) 1362 deltaparent = rl.deltaparent(r)
1357 if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r): 1363 if deltaparent != revlog.nullrev and deltaparent in rl.parentrevs(r):
1358 return self.readdelta() 1364 return self.readdelta()
1438 if fl1: 1444 if fl1:
1439 md.setflag(f, fl1) 1445 md.setflag(f, fl1)
1440 return md 1446 return md
1441 1447
1442 def readfast(self, shallow=False): 1448 def readfast(self, shallow=False):
1449 '''Calls either readdelta or read, based on which would be less work.
1450 readdelta is called if the delta is against the p1, and therefore can be
1451 read quickly.
1452
1453 If `shallow` is True, it only returns the entries from this manifest,
1454 and not any submanifests.
1455 '''
1443 rl = self._revlog() 1456 rl = self._revlog()
1444 r = rl.rev(self._node) 1457 r = rl.rev(self._node)
1445 deltaparent = rl.deltaparent(r) 1458 deltaparent = rl.deltaparent(r)
1446 if (deltaparent != revlog.nullrev and 1459 if (deltaparent != revlog.nullrev and
1447 deltaparent in rl.parentrevs(r)): 1460 deltaparent in rl.parentrevs(r)):
1520 _("readshallowdelta() not implemented for manifestv2")) 1533 _("readshallowdelta() not implemented for manifestv2"))
1521 r = self.rev(node) 1534 r = self.rev(node)
1522 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) 1535 d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r))
1523 return manifestdict(d) 1536 return manifestdict(d)
1524 1537
1525 def readshallowfast(self, node):
1526 '''like readfast(), but calls readshallowdelta() instead of readdelta()
1527 '''
1528 r = self.rev(node)
1529 deltaparent = self.deltaparent(r)
1530 if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r):
1531 return self.readshallowdelta(node)
1532 return self.readshallow(node)
1533
1534 def read(self, node): 1538 def read(self, node):
1535 if node == revlog.nullid: 1539 if node == revlog.nullid:
1536 return self._newmanifest() # don't upset local cache 1540 return self._newmanifest() # don't upset local cache
1537 if node in self._mancache: 1541 if node in self._mancache:
1538 cached = self._mancache[node] 1542 cached = self._mancache[node]
1556 self._mancache[node] = m 1560 self._mancache[node] = m
1557 if arraytext is not None: 1561 if arraytext is not None:
1558 self.fulltextcache[node] = arraytext 1562 self.fulltextcache[node] = arraytext
1559 return m 1563 return m
1560 1564
1561 def readshallow(self, node):
1562 '''Reads the manifest in this directory. When using flat manifests,
1563 this manifest will generally have files in subdirectories in it. Does
1564 not cache the manifest as the callers generally do not read the same
1565 version twice.'''
1566 return manifestdict(self.revision(node))
1567
1568 def find(self, node, f): 1565 def find(self, node, f):
1569 '''look up entry for a single file efficiently. 1566 '''look up entry for a single file efficiently.
1570 return (node, flags) pair if found, (None, None) if not.''' 1567 return (node, flags) pair if found, (None, None) if not.'''
1571 m = self.read(node) 1568 m = self.read(node)
1572 try: 1569 try: