[PATCH 6 of 7] discovery: enforce filtering into revlogbaseddag._internalizeall

pierre-yves.david at ens-lyon.org pierre-yves.david at ens-lyon.org
Sun Nov 17 14:31:45 CST 2013


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at ens-lyon.org>
# Date 1384576059 18000
#      Fri Nov 15 23:27:39 2013 -0500
# Node ID 62053df1638dcc0e692a7162de91f196acb5da25
# Parent  4dd2da14dc9854f8f75ef2ac20f1d110d8fdff02
discovery: enforce filtering into revlogbaseddag._internalizeall

One more step toward discovery running on filtered repo.

diff --git a/mercurial/dagutil.py b/mercurial/dagutil.py
--- a/mercurial/dagutil.py
+++ b/mercurial/dagutil.py
@@ -139,11 +139,13 @@ class revlogbaseddag(basedag):
         return ix
     def _internalizeall(self, ids, filterunknown):
         rl = self._revlog
         if filterunknown:
             return [r for r in map(rl.nodemap.get, ids)
-                    if r is not None and r != nullrev]
+                    if (r is not None
+                        and r != nullrev
+                        and r not in rl.filteredrevs)]
         return map(self._internalize, ids)
 
 
 class revlogdag(revlogbaseddag):
     '''dag interface to a revlog'''


More information about the Mercurial-devel mailing list