changegroup: prune subdirectory dirlogs too
authorMartin von Zweigbergk <martinvonz@google.com>
Fri, 12 Feb 2016 21:21:28 -0800
changeset 28230 0c2a088ffcc5
parent 28229 8e13b2379407
child 28231 3faba927dd93
changegroup: prune subdirectory dirlogs too We already prune changesets, root manifests and files whose linkrev is in the set of common revisions. We should do the same for dirlogs.
mercurial/changegroup.py
--- a/mercurial/changegroup.py	Fri Feb 12 15:42:16 2016 -0800
+++ b/mercurial/changegroup.py	Fri Feb 12 21:21:28 2016 -0800
@@ -825,7 +825,8 @@
             size += len(x)
             yield x
         for dir, nodes in tmfnodes.iteritems():
-            for x in self._packmanifests(dir, nodes, nodes.get):
+            prunednodes = self.prune(ml.dirlog(dir), nodes, commonrevs)
+            for x in self._packmanifests(dir, prunednodes, nodes.get):
                 size += len(x)
                 yield x
         self._verbosenote(_('%8.i (manifests)\n') % size)