# HG changeset patch # User Siddharth Agarwal # Date 2013-03-25 21:22:34 # Node ID d780c472463c5ed767fa278a6b3d49d328d9a114 # Parent 1c40526da52a3ed35497fa58623dfe76382bd4f1 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. diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -34,6 +34,7 @@ def installnormalfilesmatchfn(manifest): 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 @@ def overridelog(orig, ui, repo, *pats, * 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 @@ def overridecopy(orig, ui, repo, pats, o 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 @@ def overriderevert(orig, ui, repo, *pats 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):