Mercurial > hg-stable
changeset 39269:aad4b46e89bb
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
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 10 Aug 2018 14:20:47 -0700 |
parents | 2af6b2d8d1d8 |
children | 1347bcf52d51 |
files | mercurial/changegroup.py mercurial/manifest.py mercurial/repository.py |
diffstat | 3 files changed, 2 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- 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.