revset: added lazyset implementation to public revset
Performance Benchmarking:
$ time hg log -qr "first(public())"
...
real 0m1.184s
user 0m1.051s
sys 0m0.130s
$ time ./hg log -qr "first(public())"
...
real 0m0.548s
user 0m0.427s
sys 0m0.118s
$ hg init t
$ cd t
$ echo This is file a1 > a
$ hg add a
$ hg commit -m "commit #0"
$ echo This is file b1 > b
$ hg add b
$ hg commit -m "commit #1"
$ rm b
$ hg update 0
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo This is file b2 > b
$ hg add b
$ hg commit -m "commit #2"
created new head
$ cd ..; rm -r t
$ mkdir t
$ cd t
$ hg init
$ echo This is file a1 > a
$ hg add a
$ hg commit -m "commit #0"
$ echo This is file b1 > b
$ hg add b
$ hg commit -m "commit #1"
$ rm b
$ hg update 0
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo This is file b2 > b
$ hg commit -A -m "commit #2"
adding b
created new head
$ cd ..; rm -r t
$ hg init t
$ cd t
$ echo This is file a1 > a
$ hg add a
$ hg commit -m "commit #0"
$ echo This is file b1 > b
$ hg add b
$ hg commit -m "commit #1"
$ rm b
$ hg remove b
$ hg update 0
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo This is file b2 > b
$ hg commit -A -m "commit #2"
adding b
created new head
$ cd ..