Mercurial > hg
changeset 36346:f62369667a7c
py3: use list comprehensions instead of filter where we need to eagerly filter
These two uses of filter() are then checked for truthiness, but on Python 3:
>>> bool(filter(None, []))
True
So we need to stop depending on that. Fortunately it's easy to replace
the filter with an equivalent list comprehension.
Differential Revision: https://phab.mercurial-scm.org/D2364
author | Augie Fackler <augie@google.com> |
---|---|
date | Wed, 21 Feb 2018 10:10:02 -0500 |
parents | f85e32a5e5c8 |
children | f6ddbcff5d7b |
files | mercurial/cmdutil.py mercurial/copies.py |
diffstat | 2 files changed, 3 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/cmdutil.py Wed Feb 21 10:08:35 2018 -0500 +++ b/mercurial/cmdutil.py Wed Feb 21 10:10:02 2018 -0500 @@ -1831,7 +1831,7 @@ else: self.revs.discard(value) ctx = change(value) - matches = filter(match, ctx.files()) + matches = [f for f in ctx.files() if match(f)] if matches: fncache[value] = matches self.set.add(value)
--- a/mercurial/copies.py Wed Feb 21 10:08:35 2018 -0500 +++ b/mercurial/copies.py Wed Feb 21 10:10:02 2018 -0500 @@ -685,8 +685,8 @@ # the base and present in the source. # Presence in the base is important to exclude added files, presence in the # source is important to exclude removed files. - missingfiles = filter(lambda f: f not in m1 and f in base and f in c2, - changedfiles) + filt = lambda f: f not in m1 and f in base and f in c2 + missingfiles = [f for f in changedfiles if filt(f)] if missingfiles: basenametofilename = collections.defaultdict(list)