##// END OF EJS Templates
smartset: use native set operations as fast paths...
smartset: use native set operations as fast paths For set operations like "&" and "-", where we know both basesets have their sets ready, and the first set is sorted, use the native Python set operations as a fast path. Note: "+" is not optimized as that will break the ordering. This leads to noticeable improvements on performance: revset | before | after | delta ---------------------------------------------------------------- draft() & draft() & draft() & draft() | 776 | 477 | -39% draft() + draft() + draft() + draft() | 2849 | 2864 | draft() - draft() + draft() - draft() | 943 | 240 | -75% draft() - draft() - draft() - draft() | 557 | 197 | -64% (time measured in microseconds)

File last commit:

r30003:46825334 default
r31020:2d1bf840 default
Show More
test-glog-topological.t
115 lines | 1.4 KiB | text/troff | Tads3Lexer
/ tests / test-glog-topological.t
Pierre-Yves David
graphlog: add a way to test the 'groupbranchiter' function...
r23565 This test file aims at test topological iteration and the various configuration it can has.
$ cat >> $HGRCPATH << EOF
> [ui]
> logtemplate={rev}\n
> EOF
On this simple example, all topological branch are displayed in turn until we
can finally display 0. this implies skipping from 8 to 3 and coming back to 7
later.
$ hg init test01
$ cd test01
$ hg unbundle $TESTDIR/bundles/remote.hg
adding changesets
adding manifests
adding file changes
added 9 changesets with 7 changes to 4 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg log -G
o 8
|
| o 7
| |
| o 6
| |
| o 5
| |
| o 4
| |
o | 3
| |
o | 2
| |
o | 1
|/
o 0
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567
(display all nodes)
Martijn Pieters
revset: add new topographical sort...
r29348 $ hg log -G -r 'sort(all(), topo)'
Pierre-Yves David
graphlog: add a way to test the 'groupbranchiter' function...
r23565 o 8
|
o 3
|
o 2
|
o 1
|
| o 7
| |
| o 6
| |
| o 5
| |
| o 4
|/
o 0
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567
Yuya Nishihara
graphlog: preserve topo sort even if additional filter options specified...
r30003 (display nodes filtered by log options)
$ hg log -G -r 'sort(all(), topo)' -k '.3'
o 8
|
o 3
|
~
o 7
|
o 6
|
~
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567 (revset skipping nodes)
Martijn Pieters
revset: add new topographical sort...
r29348 $ hg log -G --rev 'sort(not (2+6), topo)'
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567 o 8
|
o 3
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 :
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567 o 1
|
| o 7
Martijn Pieters
graphmod: set default edge styles for ascii graphs (BC)...
r28627 | :
Pierre-Yves David
groupbranchiter: support for non-contiguous revsets...
r23567 | o 5
| |
| o 4
|/
o 0
Pierre-Yves David
groupbranchiter: allow callers to select the first branch...
r23568 (begin) from the other branch
Martijn Pieters
revset: add new topographical sort...
r29348 $ hg log -G -r 'sort(all(), topo, topo.firstbranch=5)'
Pierre-Yves David
groupbranchiter: allow callers to select the first branch...
r23568 o 7
|
o 6
|
o 5
|
o 4
|
| o 8
| |
| o 3
| |
| o 2
| |
| o 1
|/
o 0