mercurial/changegroup.py
changeset 30294 bce79dfcf5e4
parent 30268 dc7c4dbc1af9
child 30339 6cdfb7e15a35
equal deleted inserted replaced
30293:78f3c7166f0d 30294:bce79dfcf5e4
   675             repo.hook('outgoing', node=hex(clnodes[0]), source=source)
   675             repo.hook('outgoing', node=hex(clnodes[0]), source=source)
   676 
   676 
   677     def generatemanifests(self, commonrevs, clrevorder, fastpathlinkrev, mfs,
   677     def generatemanifests(self, commonrevs, clrevorder, fastpathlinkrev, mfs,
   678                           fnodes):
   678                           fnodes):
   679         repo = self._repo
   679         repo = self._repo
   680         dirlog = repo.manifest.dirlog
   680         mfl = repo.manifestlog
       
   681         dirlog = mfl._revlog.dirlog
   681         tmfnodes = {'': mfs}
   682         tmfnodes = {'': mfs}
   682 
   683 
   683         # Callback for the manifest, used to collect linkrevs for filelog
   684         # Callback for the manifest, used to collect linkrevs for filelog
   684         # revisions.
   685         # revisions.
   685         # Returns the linkrev node (collected in lookupcl).
   686         # Returns the linkrev node (collected in lookupcl).
   703                 Note that this means manifests must be completely sent to
   704                 Note that this means manifests must be completely sent to
   704                 the client before you can trust the list of files and
   705                 the client before you can trust the list of files and
   705                 treemanifests to send.
   706                 treemanifests to send.
   706                 """
   707                 """
   707                 clnode = tmfnodes[dir][x]
   708                 clnode = tmfnodes[dir][x]
   708                 mdata = dirlog(dir).readshallowfast(x)
   709                 mdata = mfl.get(dir, x).readfast(shallow=True)
   709                 for p, n, fl in mdata.iterentries():
   710                 for p, n, fl in mdata.iterentries():
   710                     if fl == 't': # subdirectory manifest
   711                     if fl == 't': # subdirectory manifest
   711                         subdir = dir + p + '/'
   712                         subdir = dir + p + '/'
   712                         tmfclnodes = tmfnodes.setdefault(subdir, {})
   713                         tmfclnodes = tmfnodes.setdefault(subdir, {})
   713                         tmfclnode = tmfclnodes.setdefault(n, clnode)
   714                         tmfclnode = tmfclnodes.setdefault(n, clnode)