[PATCH 4 of 8] changegroup: prune subdirectory dirlogs too

Martin von Zweigbergk martinvonz at google.com
Tue Feb 23 14:52:29 EST 2016


# HG changeset patch
# User Martin von Zweigbergk <martinvonz at google.com>
# Date 1455340888 28800
#      Fri Feb 12 21:21:28 2016 -0800
# Node ID 9b6f4541e4675ad27d12e0ae8a63957069e88736
# Parent  73e07ece142ed9d26f23a00963b0a66482c20594
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.

diff -r 73e07ece142e -r 9b6f4541e467 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)


More information about the Mercurial-devel mailing list