##// END OF EJS Templates
changegroup: introduce makelookupmflinknode(dir)...
Martin von Zweigbergk -
r28231:3faba927 default
parent child Browse files
Show More
@@ -761,9 +761,14 b' class cg1packer(object):'
761 # Callback for the manifest, used to collect linkrevs for filelog
761 # Callback for the manifest, used to collect linkrevs for filelog
762 # revisions.
762 # revisions.
763 # Returns the linkrev node (collected in lookupcl).
763 # Returns the linkrev node (collected in lookupcl).
764 if fastpathlinkrev:
764 def makelookupmflinknode(dir):
765 lookupmflinknode = mfs.__getitem__
765 if fastpathlinkrev:
766 else:
766 assert not dir
767 return mfs.__getitem__
768
769 if dir:
770 return tmfnodes[dir].get
771
767 def lookupmflinknode(x):
772 def lookupmflinknode(x):
768 """Callback for looking up the linknode for manifests.
773 """Callback for looking up the linknode for manifests.
769
774
@@ -818,15 +823,17 b' class cg1packer(object):'
818 if clrevorder[clnode] < clrevorder[tmfclnode]:
823 if clrevorder[clnode] < clrevorder[tmfclnode]:
819 tmfclnodes[n] = clnode
824 tmfclnodes[n] = clnode
820 return clnode
825 return clnode
826 return lookupmflinknode
821
827
822 mfnodes = self.prune(ml, mfs, commonrevs)
828 mfnodes = self.prune(ml, mfs, commonrevs)
823 size = 0
829 size = 0
824 for x in self._packmanifests('', mfnodes, lookupmflinknode):
830 for x in self._packmanifests('', mfnodes, makelookupmflinknode('')):
825 size += len(x)
831 size += len(x)
826 yield x
832 yield x
827 for dir, nodes in tmfnodes.iteritems():
833 for dir, nodes in tmfnodes.iteritems():
828 prunednodes = self.prune(ml.dirlog(dir), nodes, commonrevs)
834 prunednodes = self.prune(ml.dirlog(dir), nodes, commonrevs)
829 for x in self._packmanifests(dir, prunednodes, nodes.get):
835 for x in self._packmanifests(dir, prunednodes,
836 makelookupmflinknode(dir)):
830 size += len(x)
837 size += len(x)
831 yield x
838 yield x
832 self._verbosenote(_('%8.i (manifests)\n') % size)
839 self._verbosenote(_('%8.i (manifests)\n') % size)
General Comments 0
You need to be logged in to leave comments. Login now