Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 14:51:04 -0700] rev 20721
revset: changed _iterator() in addset to use the generated list when available
Now when all the elements have been generated, the iterator will just use the
generated list instead of going through all the elements again.
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 11 Mar 2014 16:59:42 -0700] rev 20720
revset: added cached generated list to addset
This way when all the values have been generated the list can be sorted
without having to generate them all again.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 17:15:21 -0700] rev 20719
revset: changed sort method to use native sort implementation of smartsets
When sort is done by revision or reversed revision number it can just call
sort on the set and doesn't have to iterate it all over again.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 17:16:58 -0700] rev 20718
revset: fixed sorting issue with spanset
When a spanset was being sorted it didn't take into account it's current
state (ascending or descending) and it reversed itself everytime the reverse
parameter was True.
This is not yet used but it will be as soon as the sort revset is changed to
directly use the structures sort method.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 13 Mar 2014 17:20:03 -0700] rev 20717
tests: added tests to test sort revset
This tests are intended to test sort in many different cases where it could
fail when using the new structures
Lucas Moscovicz <lmoscovicz@fb.com> [Fri, 14 Mar 2014 09:07:59 -0700] rev 20716
revset: added __nonzero__ method to spanset class
Implemented it in a lazy way, just look for the first non-filtered revision
and return True if there's any revision at all.
Pierre-Yves David <pierre-yves.david@ens-lyon.org> [Sat, 25 Jun 2011 02:46:23 +0200] rev 20715
require: provide a link to a wiki page in addition of suggesting upgrade
The wiki page is intended to describe several solution to the requirement issue.
Some of those solutions does not involve upgrading mercurial. That is very
useful for people that can't easily upgrade they Mercurial in some place.
Lucas Moscovicz <lmoscovicz@fb.com> [Thu, 06 Mar 2014 09:41:47 -0800] rev 20714
revset: optimized sort method in lazyset class
We are taking advantage of the smartset classes sort method when it exists and
converting the set to a baseset otherwise.
Durham Goode <durham@fb.com> [Thu, 13 Mar 2014 13:47:21 -0700] rev 20713
revset: improve head revset performance
Previously the head() revset would iterate over every item in the subset and
check if it was a head. Since the subset is often the entire repo, this was
slow on large repos. Now we iterate over each item in the head list and check if
it's in the subset, which results in much less work.
hg log -r 'head()' on a large repo:
Before: 0.95s
After: 0.28s
Lucas Moscovicz <lmoscovicz@fb.com> [Tue, 11 Mar 2014 16:52:15 -0700] rev 20712
revset: added ascending attribute to addset class
In case both collections are in an ascending/descending order then we will be
able to iterate them lazily while keeping the order.