comparison mercurial/scmutil.py @ 17992:c95210b82c0e

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.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Tue, 20 Nov 2012 19:05:46 +0100
parents 3cb032d50447
children 203b7a759218
comparison
equal deleted inserted replaced
17991:d605a82cf189 17992:c95210b82c0e
632 632
633 if _revrangesep in spec: 633 if _revrangesep in spec:
634 start, end = spec.split(_revrangesep, 1) 634 start, end = spec.split(_revrangesep, 1)
635 start = revfix(repo, start, 0) 635 start = revfix(repo, start, 0)
636 end = revfix(repo, end, len(repo) - 1) 636 end = revfix(repo, end, len(repo) - 1)
637 step = start > end and -1 or 1 637 rangeiter = repo.changelog.revs(start, end)
638 if not seen and not l: 638 if not seen and not l:
639 # by far the most common case: revs = ["-1:0"] 639 # by far the most common case: revs = ["-1:0"]
640 l = range(start, end + step, step) 640 l = list(rangeiter)
641 # defer syncing seen until next iteration 641 # defer syncing seen until next iteration
642 continue 642 continue
643 newrevs = set(xrange(start, end + step, step)) 643 newrevs = set(rangeiter)
644 if seen: 644 if seen:
645 newrevs.difference_update(seen) 645 newrevs.difference_update(seen)
646 seen.update(newrevs) 646 seen.update(newrevs)
647 else: 647 else:
648 seen = newrevs 648 seen = newrevs