Patchwork D4124: changegroup: always use the treemanifest-enabled version of _packmanifests()

login
register
mail settings
Submitter phabricator
Date Aug. 6, 2018, 4:09 p.m.
Message ID <31c211dac60954345ef9d81089608173@localhost.localdomain>
Download mbox | patch
Permalink /patch/33345/
State Not Applicable
Headers show

Comments

phabricator - Aug. 6, 2018, 4:09 p.m.
This revision was automatically updated to reflect the committed changes.
Closed by commit rHG8a13855c8dbe: changegroup: always use the treemanifest-enabled version of _packmanifests() (authored by martinvonz, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4124?vs=9969&id=9996

REVISION DETAIL
  https://phab.mercurial-scm.org/D4124

AFFECTED FILES
  mercurial/changegroup.py

CHANGE DETAILS




To: martinvonz, #hg-reviewers, indygreg
Cc: mercurial-devel

Patch

diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py
--- a/mercurial/changegroup.py
+++ b/mercurial/changegroup.py
@@ -522,7 +522,7 @@ 
 class cgpacker(object):
     def __init__(self, repo, filematcher, version, allowreorder,
                  useprevdelta, builddeltaheader, manifestsend,
-                 sendtreemanifests, bundlecaps=None, ellipses=False,
+                 bundlecaps=None, ellipses=False,
                  shallow=False, ellipsisroots=None, fullnodes=None):
         """Given a source repo, construct a bundler.
 
@@ -541,8 +541,6 @@ 
 
         manifestsend is a chunk to send after manifests have been fully emitted.
 
-        sendtreemanifests indicates whether tree manifests should be emitted.
-
         ellipses indicates whether ellipsis serving mode is enabled.
 
         bundlecaps is optional and can be used to specify the set of
@@ -564,7 +562,6 @@ 
         self._useprevdelta = useprevdelta
         self._builddeltaheader = builddeltaheader
         self._manifestsend = manifestsend
-        self._sendtreemanifests = sendtreemanifests
         self._ellipses = ellipses
 
         # Set of capabilities we can use to build the bundle.
@@ -701,21 +698,14 @@ 
         return [n for n in missing if rl(rr(n)) not in commonrevs]
 
     def _packmanifests(self, dir, mfnodes, lookuplinknode):
-        """Pack flat manifests into a changegroup stream."""
-        assert not dir
-        for chunk in self.group(mfnodes, self._repo.manifestlog._revlog,
-                                lookuplinknode, units=_('manifests')):
-            yield chunk
-
-    def _packtreemanifests(self, dir, mfnodes, lookuplinknode):
-        """Version of _packmanifests that operates on directory manifests.
+        """Pack manifests into a changegroup stream.
 
         Encodes the directory name in the output so multiple manifests
-        can be sent.
+        can be sent. Multiple manifests is not supported by cg1 and cg2.
         """
-        assert self.version == b'03'
 
         if dir:
+            assert self.version == b'03'
             yield self._fileheader(dir)
 
         # TODO violates storage abstractions by assuming revlogs.
@@ -902,14 +892,13 @@ 
                 return clnode
             return lookupmflinknode
 
-        fn = (self._packtreemanifests if self._sendtreemanifests
-              else self._packmanifests)
         size = 0
         while tmfnodes:
             dir, nodes = tmfnodes.popitem()
             prunednodes = self._prune(dirlog(dir), nodes, commonrevs)
             if not dir or prunednodes:
-                for x in fn(dir, prunednodes, makelookupmflinknode(dir, nodes)):
+                for x in self._packmanifests(dir, prunednodes,
+                                             makelookupmflinknode(dir, nodes)):
                     size += len(x)
                     yield x
         self._verbosenote(_('%8.i (manifests)\n') % size)
@@ -1208,7 +1197,6 @@ 
                     allowreorder=None,
                     builddeltaheader=builddeltaheader,
                     manifestsend=b'',
-                    sendtreemanifests=False,
                     bundlecaps=bundlecaps,
                     ellipses=ellipses,
                     shallow=shallow,
@@ -1228,7 +1216,6 @@ 
                     allowreorder=False,
                     builddeltaheader=builddeltaheader,
                     manifestsend=b'',
-                    sendtreemanifests=False,
                     bundlecaps=bundlecaps,
                     ellipses=ellipses,
                     shallow=shallow,
@@ -1245,7 +1232,6 @@ 
                     allowreorder=False,
                     builddeltaheader=builddeltaheader,
                     manifestsend=closechunk(),
-                    sendtreemanifests=True,
                     bundlecaps=bundlecaps,
                     ellipses=ellipses,
                     shallow=shallow,