# HG changeset patch # User Pierre-Yves David # Date 2012-11-20 18:05:46 # Node ID c95210b82c0e869c20ca555384093d1b08219086 # Parent d605a82cf18997ef4b96e217a418a6cabde1d3a2 clfilter: remove usage of `range` and `xrange` in scmutil.revrange For changelog level filtering to take effect it need to be used for any iteration. This changeset removes usage of `range` and `xrange` that survived the first pass. diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -634,13 +634,13 @@ def revrange(repo, revs): start, end = spec.split(_revrangesep, 1) start = revfix(repo, start, 0) end = revfix(repo, end, len(repo) - 1) - step = start > end and -1 or 1 + rangeiter = repo.changelog.revs(start, end) if not seen and not l: # by far the most common case: revs = ["-1:0"] - l = range(start, end + step, step) + l = list(rangeiter) # defer syncing seen until next iteration continue - newrevs = set(xrange(start, end + step, step)) + newrevs = set(rangeiter) if seen: newrevs.difference_update(seen) seen.update(newrevs)