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

r29219:3c9066ed default
r31020:2d1bf840 default
Show More
test-check-execute.t
24 lines | 598 B | text/troff | Tads3Lexer
/ tests / test-check-execute.t
#require test-repo execbit
$ . "$TESTDIR/helpers-testrepo.sh"
$ cd "`dirname "$TESTDIR"`"
look for python scripts without the execute bit
$ hg files 'set:**.py and not exec() and grep(r"^#!.*?python")'
[1]
look for python scripts with execute bit but not shebang
$ hg files 'set:**.py and exec() and not grep(r"^#!.*?python")'
[1]
look for shell scripts with execute bit but not shebang
$ hg files 'set:**.sh and exec() and not grep(r"^#!.*(ba)?sh")'
[1]
look for non scripts with no shebang
$ hg files 'set:exec() and not **.sh and not **.py and not grep(r"^#!")'
[1]