narrow: use list comprehension instead of filter for filtering lists
filter() returns a generator on Python 3, which causes these filters
to break things.
Differential Revision: https://phab.mercurial-scm.org/D2363
--- a/hgext/narrow/narrowchangegroup.py Wed Feb 21 09:43:35 2018 -0500
+++ b/hgext/narrow/narrowchangegroup.py Wed Feb 21 10:08:35 2018 -0500
@@ -52,7 +52,7 @@
getattr(self, '_narrow_matcher', None))
if matcher is not None:
narrowmatch = matcher()
- changedfiles = filter(narrowmatch, changedfiles)
+ changedfiles = [f for f in changedfiles if narrowmatch(f)]
if getattr(self, 'is_shallow', False):
# See comment in generate() for why this sadness is a thing.
mfdicts = self._mfdicts
--- a/hgext/narrow/narrowcopies.py Wed Feb 21 09:43:35 2018 -0500
+++ b/hgext/narrow/narrowcopies.py Wed Feb 21 10:08:35 2018 -0500
@@ -19,7 +19,7 @@
missing = orig(a, b, match)
if util.safehasattr(repo, 'narrowmatch'):
narrowmatch = repo.narrowmatch()
- missing = filter(narrowmatch, missing)
+ missing = [f for f in missing if narrowmatch(f)]
return missing
def _checkcopies(orig, srcctx, dstctx, f, base, tca, remotebase, limit,
--- a/hgext/narrow/narrowpatch.py Wed Feb 21 09:43:35 2018 -0500
+++ b/hgext/narrow/narrowpatch.py Wed Feb 21 10:08:35 2018 -0500
@@ -31,9 +31,9 @@
copy, getfilectx, *args, **kwargs):
if util.safehasattr(repo, 'narrowmatch'):
narrowmatch = repo.narrowmatch()
- modified = filter(narrowmatch, modified)
- added = filter(narrowmatch, added)
- removed = filter(narrowmatch, removed)
+ modified = [f for f in modified if narrowmatch(f)]
+ added = [f for f in added if narrowmatch(f)]
+ removed = [f for f in removed if narrowmatch(f)]
copy = {k: v for k, v in copy.iteritems() if narrowmatch(k)}
return orig(repo, revs, ctx1, ctx2, modified, added, removed, copy,
getfilectx, *args, **kwargs)