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.
--- 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)