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

login
register
mail settings
Submitter Pierre-Yves David
Date Nov. 17, 2013, 8:31 p.m.
Message ID <62053df1638dcc0e692a.1384720305@vulgaris>
Download mbox | patch
Permalink /patch/3033/
State Accepted
Commit 34d4a037dcede355c97a49c283da7d8db990d9bb
Headers show

Comments

Pierre-Yves David - Nov. 17, 2013, 8:31 p.m.
# HG changeset patch
# User Pierre-Yves David <pierre-yves.david@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.

Patch

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'''