changeset 18813:d780c472463c

largefiles: fix _always for match overrides Upcoming patches will speed dirstate.walk up by not filtering based on the match function when match.always() is True. For that to work, match.always() needs to be accurate. Previously it wasn't so for largefiles.
author Siddharth Agarwal <sid0@fb.com>
date Mon, 25 Mar 2013 14:22:34 -0700
parents 1c40526da52a
children 1413ba410244
files hgext/largefiles/overrides.py
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py	Mon Mar 25 14:12:39 2013 -0700
+++ b/hgext/largefiles/overrides.py	Mon Mar 25 14:22:34 2013 -0700
@@ -34,6 +34,7 @@
                 manifest)
         m._files = filter(notlfile, m._files)
         m._fmap = set(m._files)
+        m._always = False
         origmatchfn = m.matchfn
         m.matchfn = lambda f: notlfile(f) and origmatchfn(f) or None
         return m
@@ -251,6 +252,7 @@
         standins = [lfutil.standin(f) for f in m._files]
         m._files.extend(standins)
         m._fmap = set(m._files)
+        m._always = False
         origmatchfn = m.matchfn
         def lfmatchfn(f):
             lf = lfutil.splitstandin(f)
@@ -519,6 +521,7 @@
                 lfile = lambda f: lfutil.standin(f) in manifest
                 m._files = [lfutil.standin(f) for f in m._files if lfile(f)]
                 m._fmap = set(m._files)
+                m._always = False
                 origmatchfn = m.matchfn
                 m.matchfn = lambda f: (lfutil.isstandin(f) and
                                     (f in manifest) and
@@ -625,6 +628,7 @@
                 m._files = [tostandin(f) for f in m._files]
                 m._files = [f for f in m._files if f is not None]
                 m._fmap = set(m._files)
+                m._always = False
                 origmatchfn = m.matchfn
                 def matchfn(f):
                     if lfutil.isstandin(f):