mercurial/manifest.py
changeset 30404 a1beadaa4061
parent 30403 a431daa93f8c
child 30443 4e1eab73c53d
equal deleted inserted replaced
30403:a431daa93f8c 30404:a1beadaa4061
  1487             elif rl._treeondisk:
  1487             elif rl._treeondisk:
  1488                 m = treemanifest(dir=self._dir)
  1488                 m = treemanifest(dir=self._dir)
  1489                 def gettext():
  1489                 def gettext():
  1490                     return rl.revision(self._node)
  1490                     return rl.revision(self._node)
  1491                 def readsubtree(dir, subm):
  1491                 def readsubtree(dir, subm):
  1492                     return treemanifestctx(self._repo, dir, subm).read()
  1492                     # Set verify to False since we need to be able to create
       
  1493                     # subtrees for trees that don't exist on disk.
       
  1494                     return self._repo.manifestlog.get(dir, subm,
       
  1495                                                       verify=False).read()
  1493                 m.read(gettext, readsubtree)
  1496                 m.read(gettext, readsubtree)
  1494                 m.setnode(self._node)
  1497                 m.setnode(self._node)
  1495                 self._data = m
  1498                 self._data = m
  1496             else:
  1499             else:
  1497                 text = rl.revision(self._node)
  1500                 text = rl.revision(self._node)
  1529             d = mdiff.patchtext(revlog.revdiff(revlog.deltaparent(r), r))
  1532             d = mdiff.patchtext(revlog.revdiff(revlog.deltaparent(r), r))
  1530             return manifestdict(d)
  1533             return manifestdict(d)
  1531         else:
  1534         else:
  1532             # Need to perform a slow delta
  1535             # Need to perform a slow delta
  1533             r0 = revlog.deltaparent(revlog.rev(self._node))
  1536             r0 = revlog.deltaparent(revlog.rev(self._node))
  1534             m0 = treemanifestctx(self._repo, self._dir, revlog.node(r0)).read()
  1537             m0 = self._repo.manifestlog.get(self._dir, revlog.node(r0)).read()
  1535             m1 = self.read()
  1538             m1 = self.read()
  1536             md = treemanifest(dir=self._dir)
  1539             md = treemanifest(dir=self._dir)
  1537             for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems():
  1540             for f, ((n0, fl0), (n1, fl1)) in m0.diff(m1).iteritems():
  1538                 if n1:
  1541                 if n1:
  1539                     md[f] = n1
  1542                     md[f] = n1