##// 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:

r24458:7d87f672 default
r31020:2d1bf840 default
Show More
test-revset-dirstate-parents.t
66 lines | 889 B | text/troff | Tads3Lexer
/ tests / test-revset-dirstate-parents.t
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928 $ HGENCODING=utf-8
$ export HGENCODING
$ try() {
> hg debugrevspec --debug $@
> }
$ log() {
> hg log --template '{rev}\n' -r "$1"
> }
$ hg init repo
$ cd repo
$ try 'p1()'
Patrick Mezard
debugrevspec: pretty print output...
r16218 (func
('symbol', 'p1')
None)
Yuya Nishihara
debugrevspec: show nesting structure of smartsets if verbose...
r24458 * set:
<baseset []>
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928 $ try 'p2()'
Patrick Mezard
debugrevspec: pretty print output...
r16218 (func
('symbol', 'p2')
None)
Yuya Nishihara
debugrevspec: show nesting structure of smartsets if verbose...
r24458 * set:
<baseset []>
Patrick Mezard
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)...
r12935 $ try 'parents()'
Patrick Mezard
debugrevspec: pretty print output...
r16218 (func
('symbol', 'parents')
None)
Yuya Nishihara
debugrevspec: show nesting structure of smartsets if verbose...
r24458 * set:
<baseset+ []>
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928
null revision
$ log 'p1()'
$ log 'p2()'
Kevin Bullock
revsets: let parents() return parents of working dir...
r12929 $ log 'parents()'
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928
working dir with a single parent
$ echo a > a
$ hg ci -Aqm0
$ log 'p1()'
0
Patrick Mezard
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)...
r12935 $ log 'tag() and p1()'
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928 $ log 'p2()'
Kevin Bullock
revsets: let parents() return parents of working dir...
r12929 $ log 'parents()'
0
Patrick Mezard
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)...
r12935 $ log 'tag() and parents()'
Kevin Bullock
revsets: let p1() and p2() return parents of working dir...
r12928
merge in progress
$ echo b > b
$ hg ci -Aqm1
$ hg up -q 0
$ echo c > c
$ hg ci -Aqm2
$ hg merge -q
$ log 'p1()'
2
$ log 'p2()'
1
Patrick Mezard
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)...
r12935 $ log 'tag() and p2()'
Kevin Bullock
revsets: let parents() return parents of working dir...
r12929 $ log 'parents()'
Patrick Mezard
revset: fix p1, p2 and parents in dirstate case (a5f7f1e9340e)...
r12935 1
Kevin Bullock
revsets: let parents() return parents of working dir...
r12929 2
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..