Mercurial > hg
changeset 31656:0192aa8626c1
largefiles: avoid redundant loop to eliminate None from list
Before this patch, this code path contains two loops for m._files: one
for replacement with standin, and another for elimination of None,
which comes from previous replacement ("standin in wctx or
lfdirstate[f] == 'r'" case in tostandin()).
These two loops can be unified into simple one "for" loop.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Mon, 27 Mar 2017 09:44:35 +0900 |
parents | 9d075911df49 |
children | 641f3a6098d0 |
files | hgext/largefiles/overrides.py |
diffstat | 1 files changed, 7 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/largefiles/overrides.py Mon Mar 27 09:44:35 2017 +0900 +++ b/hgext/largefiles/overrides.py Mon Mar 27 09:44:35 2017 +0900 @@ -759,15 +759,16 @@ False) wctx = repo[None] - def tostandin(f): + matchfiles = [] + for f in m._files: standin = lfutil.standin(f) if standin in ctx or standin in mctx: - return standin + matchfiles.append(standin) elif standin in wctx or lfdirstate[f] == 'r': - return None - return f - m._files = [tostandin(f) for f in m._files] - m._files = [f for f in m._files if f is not None] + continue + else: + matchfiles.append(f) + m._files = matchfiles m._fileroots = set(m._files) origmatchfn = m.matchfn def matchfn(f):