From patchwork Tue Sep 20 23:47:55 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [8,of,9,V4] manifest: get rid of manifest.readshallowfast From: Durham Goode X-Patchwork-Id: 16701 Message-Id: To: Date: Tue, 20 Sep 2016 16:47:55 -0700 # HG changeset patch # User Durham Goode # Date 1474399441 25200 # Tue Sep 20 12:24:01 2016 -0700 # Node ID b16ce237ed47ef8c6f0f72bbc511b29ea9289ef3 # Parent 561681e7a16fa33aa8a40e4c9a31ff395a115e4c manifest: get rid of manifest.readshallowfast This removes manifest.readshallowfast and converts it's one user to use manifestlog instead. diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -674,7 +674,8 @@ class cg1packer(object): 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 @@ -702,7 +703,7 @@ class cg1packer(object): 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 + '/' diff --git a/mercurial/manifest.py b/mercurial/manifest.py --- a/mercurial/manifest.py +++ b/mercurial/manifest.py @@ -1281,15 +1281,6 @@ class manifest(manifestrevlog): 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 @@ -1316,13 +1307,6 @@ class manifest(manifestrevlog): 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.'''