equal
deleted
inserted
replaced
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) |