# HG changeset patch # User Bryan O'Sullivan # Date 1340391641 25200 # Node ID 419966126a059508ab64aafae739d6ea7e2fb639 # Parent ab4644c3064fd12738b18d6f65c6acd5799d57b3 scmutil: speed up new-style range extension This improves perfrevset performance by 10% for 2222::33333 on a kernel repo. diff -r ab4644c3064f -r 419966126a05 mercurial/scmutil.py --- a/mercurial/scmutil.py Tue Jun 26 14:32:20 2012 +0200 +++ b/mercurial/scmutil.py Fri Jun 22 12:00:41 2012 -0700 @@ -584,10 +584,9 @@ # fall through to new-style queries if old-style fails m = revset.match(repo.ui, spec) - for r in m(repo, range(len(repo))): - if r not in seen: - l.append(r) - seen.update(l) + dl = [r for r in m(repo, xrange(len(repo))) if r not in seen] + l.extend(dl) + seen.update(dl) return l