# HG changeset patch # User Gregory Szorc # Date 1533681063 25200 # Node ID 5959ef78d8348c2108c43c3f52a45bad3646a616 # Parent d56a6b78de3b159e86822cedecfa16ecbab50484 changegroup: inline _packmanifests() into generatemanifests() It is relatively small. Every other generate*() calls group() directly. So the new code is consistent. Differential Revision: https://phab.mercurial-scm.org/D4198 diff -r d56a6b78de3b -r 5959ef78d834 mercurial/changegroup.py --- a/mercurial/changegroup.py Tue Aug 07 15:13:25 2018 -0700 +++ b/mercurial/changegroup.py Tue Aug 07 15:31:03 2018 -0700 @@ -834,22 +834,6 @@ rr, rl = store.rev, store.linkrev return [n for n in missing if rl(rr(n)) not in commonrevs] - def _packmanifests(self, dir, dirlog, revs, lookuplinknode, - clrevtolocalrev): - """Pack manifests into a changegroup stream. - - Encodes the directory name in the output so multiple manifests - can be sent. Multiple manifests is not supported by cg1 and cg2. - """ - if dir: - assert self.version == b'03' - yield _fileheader(dir) - - for chunk in self.group(revs, dirlog, False, lookuplinknode, - units=_('manifests'), - clrevtolocalrev=clrevtolocalrev): - yield chunk - def generate(self, commonrevs, clnodes, fastpathlinkrev, source): """Yield a sequence of changegroup byte chunks.""" @@ -1061,10 +1045,17 @@ revs = _sortnodesnormal(store, prunednodes, self._reorder) - for x in self._packmanifests(dir, store, revs, lookupfn, - clrevtolocalrev): - size += len(x) - yield x + if dir: + assert self.version == b'03' + chunk = _fileheader(dir) + size += len(chunk) + yield chunk + + for chunk in self.group(revs, store, False, lookupfn, + units=_('manifests'), + clrevtolocalrev=clrevtolocalrev): + size += len(chunk) + yield chunk self._verbosenote(_('%8.i (manifests)\n') % size) yield self._manifestsend