manifest: remove addgroup() from manifestlog and imanifestlog
authorGregory Szorc <gregory.szorc@gmail.com>
Fri, 10 Aug 2018 14:20:47 -0700
changeset 39241 aad4b46e89bb
parent 39240 2af6b2d8d1d8
child 39242 1347bcf52d51
manifest: remove addgroup() from manifestlog and imanifestlog addgroup() is part of the storage interface for manifests. Unfortunately, we don't yet have a formal storage interface for manifests. (One will be established in subsequent commits.) One thing is for sure, addgroup() doesn't belong on imanifestlog - at least not unless we extend that interface to encompass storage. For now, let's access addgroup() on the _revlog attribute, just like we do for tree manifests. Even though this violates visibility, it is consistent. Differential Revision: https://phab.mercurial-scm.org/D4274
mercurial/changegroup.py
mercurial/manifest.py
mercurial/repository.py
--- a/mercurial/changegroup.py	Fri Aug 10 13:59:27 2018 -0700
+++ b/mercurial/changegroup.py	Fri Aug 10 14:20:47 2018 -0700
@@ -253,7 +253,8 @@
         # be empty during the pull
         self.manifestheader()
         deltas = self.deltaiter()
-        repo.manifestlog.addgroup(deltas, revmap, trp)
+        # TODO this violates storage abstraction.
+        repo.manifestlog._revlog.addgroup(deltas, revmap, trp)
         prog.complete()
         self.callback = None
 
--- a/mercurial/manifest.py	Fri Aug 10 13:59:27 2018 -0700
+++ b/mercurial/manifest.py	Fri Aug 10 14:20:47 2018 -0700
@@ -1485,9 +1485,6 @@
     def rev(self, node):
         return self._revlog.rev(node)
 
-    def addgroup(self, deltas, linkmapper, transaction):
-        return self._revlog.addgroup(deltas, linkmapper, transaction)
-
 @interfaceutil.implementer(repository.imanifestrevisionwritable)
 class memmanifestctx(object):
     def __init__(self, manifestlog):
--- a/mercurial/repository.py	Fri Aug 10 13:59:27 2018 -0700
+++ b/mercurial/repository.py	Fri Aug 10 14:20:47 2018 -0700
@@ -1032,22 +1032,6 @@
         Raises ``error.LookupError`` if the node is not known.
         """
 
-    def addgroup(deltas, linkmapper, transaction):
-        """Process a series of deltas for storage.
-
-        ``deltas`` is an iterable of 7-tuples of
-        (node, p1, p2, linknode, deltabase, delta, flags) defining revisions
-        to add.
-
-        The ``delta`` field contains ``mpatch`` data to apply to a base
-        revision, identified by ``deltabase``. The base node can be
-        ``nullid``, in which case the header from the delta can be ignored
-        and the delta used as the fulltext.
-
-        Returns a list of nodes that were processed. A node will be in the list
-        even if it existed in the store previously.
-        """
-
 class completelocalrepository(interfaceutil.Interface):
     """Monolithic interface for local repositories.