diff --git a/treemanifest/__init__.py b/treemanifest/__init__.py --- a/treemanifest/__init__.py +++ b/treemanifest/__init__.py @@ -1592,7 +1592,7 @@ def setshared(self, shared): self._shared = shared - def get(self, name, node): + def _gettrees(self, name, node): # Only look at the server if not root or is public basemfnodes = [] if name == '': @@ -1611,15 +1611,14 @@ prefetchtrees(self._repo, name, [node], basemfnodes, []) self._shared.markforrefresh() + + def get(self, name, node): + self._gettrees(name, node) return self._shared.get(name, node) def getdeltachain(self, name, node): - # Since our remote content stores just contain full texts, we return a - # fake delta chain that just consists of a single full text revision. - # The nullid in the deltabasenode slot indicates that the revision is a - # fulltext. - revision = self.get(name, node) - return [(name, node, None, nullid, revision)] + self._gettrees(name, node) + return self._shared.getdeltachain(name, node) def add(self, name, node, data): raise RuntimeError("cannot add to a remote store")