Mercurial > hg
changeset 39011:2ebdd265fe8c
changegroup: move size tracking and end of manifests to generate()
Preparing for all the generate* functions to emit data structures
instead of raw chunks.
Differential Revision: https://phab.mercurial-scm.org/D4208
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 08 Aug 2018 15:09:12 -0700 |
parents | fcdab6629dde |
children | c921ad9cae08 |
files | mercurial/changegroup.py |
diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changegroup.py Wed Aug 08 14:15:33 2018 -0700 +++ b/mercurial/changegroup.py Wed Aug 08 15:09:12 2018 -0700 @@ -870,11 +870,16 @@ fnodes = {} # needed file nodes + size = 0 for chunk in self.generatemanifests(commonrevs, clrevorder, fastpathlinkrev, mfs, fnodes, source, clstate['clrevtomanifestrev']): + size += len(chunk) yield chunk + self._verbosenote(_('%8.i (manifests)\n') % size) + yield self._manifestsend + mfdicts = None if self._ellipses and self._isshallow: mfdicts = [(self._repo.manifestlog[n].read(), lr) @@ -1025,7 +1030,6 @@ return clnode return lookupmflinknode - size = 0 while tmfnodes: dir, nodes = tmfnodes.popitem() store = dirlog(dir) @@ -1052,7 +1056,6 @@ if dir: assert self.version == b'03' chunk = _fileheader(dir) - size += len(chunk) yield chunk it = deltagroup( @@ -1065,16 +1068,11 @@ precomputedellipsis=self._precomputedellipsis) for chunk in it: - size += len(chunk) yield chunk close = closechunk() - size += len(close) yield close - self._verbosenote(_('%8.i (manifests)\n') % size) - yield self._manifestsend - # The 'source' parameter is useful for extensions def generatefiles(self, changedfiles, commonrevs, source, mfdicts, fastpathlinkrev, fnodes, clrevs):