Mercurial > hg
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):