Mercurial > hg
changeset 30294: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 |
files | mercurial/changegroup.py mercurial/manifest.py |
diffstat | 2 files changed, 16 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changegroup.py Wed Nov 02 17:10:47 2016 -0700 +++ b/mercurial/changegroup.py Wed Nov 02 17:10:47 2016 -0700 @@ -677,7 +677,8 @@ def generatemanifests(self, commonrevs, clrevorder, fastpathlinkrev, mfs, fnodes): repo = self._repo - dirlog = repo.manifest.dirlog + mfl = repo.manifestlog + dirlog = mfl._revlog.dirlog tmfnodes = {'': mfs} # Callback for the manifest, used to collect linkrevs for filelog @@ -705,7 +706,7 @@ treemanifests to send. """ clnode = tmfnodes[dir][x] - mdata = dirlog(dir).readshallowfast(x) + mdata = mfl.get(dir, x).readfast(shallow=True) for p, n, fl in mdata.iterentries(): if fl == 't': # subdirectory manifest subdir = dir + p + '/'
--- a/mercurial/manifest.py Wed Nov 02 17:10:47 2016 -0700 +++ b/mercurial/manifest.py Wed Nov 02 17:10:47 2016 -0700 @@ -1351,6 +1351,12 @@ return self._data def readfast(self, shallow=False): + '''Calls either readdelta or read, based on which would be less work. + readdelta is called if the delta is against the p1, and therefore can be + read quickly. + + If `shallow` is True, nothing changes since this is a flat manifest. + ''' rl = self._repo.manifestlog._revlog r = rl.rev(self._node) deltaparent = rl.deltaparent(r) @@ -1440,6 +1446,13 @@ return md def readfast(self, shallow=False): + '''Calls either readdelta or read, based on which would be less work. + readdelta is called if the delta is against the p1, and therefore can be + read quickly. + + If `shallow` is True, it only returns the entries from this manifest, + and not any submanifests. + ''' rl = self._revlog() r = rl.rev(self._node) deltaparent = rl.deltaparent(r) @@ -1522,15 +1535,6 @@ d = mdiff.patchtext(self.revdiff(self.deltaparent(r), r)) return manifestdict(d) - def readshallowfast(self, node): - '''like readfast(), but calls readshallowdelta() instead of readdelta() - ''' - r = self.rev(node) - deltaparent = self.deltaparent(r) - if deltaparent != revlog.nullrev and deltaparent in self.parentrevs(r): - return self.readshallowdelta(node) - return self.readshallow(node) - def read(self, node): if node == revlog.nullid: return self._newmanifest() # don't upset local cache @@ -1558,13 +1562,6 @@ self.fulltextcache[node] = arraytext return m - def readshallow(self, node): - '''Reads the manifest in this directory. When using flat manifests, - this manifest will generally have files in subdirectories in it. Does - not cache the manifest as the callers generally do not read the same - version twice.''' - return manifestdict(self.revision(node)) - def find(self, node, f): '''look up entry for a single file efficiently. return (node, flags) pair if found, (None, None) if not.'''