# HG changeset patch # User Augie Fackler # Date 2018-02-21 15:08:35 # Node ID f85e32a5e5c869c248167a72518a6cc3d856b002 # Parent a65502597d8df74a36c6946f338224c2014f1fbd 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 diff --git a/hgext/narrow/narrowchangegroup.py b/hgext/narrow/narrowchangegroup.py --- a/hgext/narrow/narrowchangegroup.py +++ b/hgext/narrow/narrowchangegroup.py @@ -52,7 +52,7 @@ def setup(): 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 diff --git a/hgext/narrow/narrowcopies.py b/hgext/narrow/narrowcopies.py --- a/hgext/narrow/narrowcopies.py +++ b/hgext/narrow/narrowcopies.py @@ -19,7 +19,7 @@ def setup(repo): 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, diff --git a/hgext/narrow/narrowpatch.py b/hgext/narrow/narrowpatch.py --- a/hgext/narrow/narrowpatch.py +++ b/hgext/narrow/narrowpatch.py @@ -31,9 +31,9 @@ def setup(repo): 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)