##// END OF EJS Templates
bookmarks: cache reverse mapping (issue5868)...
bookmarks: cache reverse mapping (issue5868) I chose a simpler implementation. If the initial cost of building reverse mapping is significant, we'll have to move it under @propertycache. The nodemap could be a dict of sets, but I think keeping a sorted list is better since each node is likely to have zero/one bookmark. Micro-benchmark with 1001 bookmarks and 1001 revisions: $ for n in `seq 0 1000`; do touch $n; hg book book$n; hg ci -qAm$n; done $ hg bookmarks --time > /dev/null (orig) time: real 0.040 secs (user 0.050+0.000 sys 0.000+0.000) (new) time: real 0.040 secs (user 0.040+0.000 sys 0.010+0.000) $ hg log -T '{bookmarks}\n' --time > /dev/null (orig) time: real 0.160 secs (user 0.160+0.000 sys 0.000+0.000) (new) time: real 0.090 secs (user 0.100+0.000 sys 0.000+0.000)

File last commit:

r37360:4e6a6d0d default
r37869:04ceb267 @26 default
Show More
test-debugextensions.t
107 lines | 2.2 KiB | text/troff | Tads3Lexer
/ tests / test-debugextensions.t
Gregory Szorc
tests: conditionalize tests based on presence of custom extensions...
r37360 #if no-extraextensions
liscju
mercurial: add debugextensions command (issue4676)...
r26351 $ hg debugextensions
Gregory Szorc
tests: conditionalize tests based on presence of custom extensions...
r37360 #endif
liscju
mercurial: add debugextensions command (issue4676)...
r26351
$ debugpath=`pwd`/extwithoutinfos.py
$ cat > extwithoutinfos.py <<EOF
> EOF
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 $ cat > extwithinfos.py <<EOF
Augie Fackler
py3: add missing b prefixes in test-debugextensions.t...
r36585 > testedwith = b'3.0 3.1 3.2.1'
> buglink = b'https://example.org/bts'
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 > EOF
liscju
mercurial: add debugextensions command (issue4676)...
r26351
$ cat >> $HGRCPATH <<EOF
> [extensions]
> histedit=
> patchbomb=
> rebase=
> mq=
> ext1 = $debugpath
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 > ext2 = `pwd`/extwithinfos.py
liscju
mercurial: add debugextensions command (issue4676)...
r26351 > EOF
Gregory Szorc
tests: conditionalize tests based on presence of custom extensions...
r37360 $ for extension in $HGTESTEXTRAEXTENSIONS; do
> echo "$extension=!" >> $HGRCPATH
> done
liscju
mercurial: add debugextensions command (issue4676)...
r26351 $ hg debugextensions
ext1 (untested!)
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 ext2 (3.2.1!)
liscju
mercurial: add debugextensions command (issue4676)...
r26351 histedit
mq
patchbomb
rebase
$ hg debugextensions -v
ext1
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 location: */extwithoutinfos.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: no
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 ext2
location: */extwithinfos.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: no
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 tested with: 3.0 3.1 3.2.1
bug reporting: https://example.org/bts
liscju
mercurial: add debugextensions command (issue4676)...
r26351 histedit
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 location: */hgext/histedit.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: yes
liscju
mercurial: add debugextensions command (issue4676)...
r26351 mq
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 location: */hgext/mq.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: yes
liscju
mercurial: add debugextensions command (issue4676)...
r26351 patchbomb
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 location: */hgext/patchbomb.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: yes
liscju
mercurial: add debugextensions command (issue4676)...
r26351 rebase
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 location: */hgext/rebase.py* (glob)
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 bundled: yes
liscju
mercurial: add debugextensions command (issue4676)...
r26351
Matt Harbison
test-debugextensions: sanitize JSON output for Windows...
r26430 $ hg debugextensions -Tjson | sed 's|\\\\|/|g'
liscju
mercurial: add debugextensions command (issue4676)...
r26351 [
{
"buglink": "",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": false,
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "name": "ext1",
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 "source": "*/extwithoutinfos.py*", (glob)
Yuya Nishihara
debugextension: change "testedwith" to a list (BC)...
r29703 "testedwith": []
liscju
mercurial: add debugextensions command (issue4676)...
r26351 },
{
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 "buglink": "https://example.org/bts",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": false,
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 "name": "ext2",
"source": "*/extwithinfos.py*", (glob)
"testedwith": ["3.0", "3.1", "3.2.1"]
},
{
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "buglink": "",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": true,
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "name": "histedit",
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 "source": "*/hgext/histedit.py*", (glob)
Yuya Nishihara
debugextensions: hide "ships-with-hg-core" magic string (BC)...
r29893 "testedwith": []
liscju
mercurial: add debugextensions command (issue4676)...
r26351 },
{
"buglink": "",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": true,
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "name": "mq",
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 "source": "*/hgext/mq.py*", (glob)
Yuya Nishihara
debugextensions: hide "ships-with-hg-core" magic string (BC)...
r29893 "testedwith": []
liscju
mercurial: add debugextensions command (issue4676)...
r26351 },
{
"buglink": "",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": true,
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "name": "patchbomb",
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 "source": "*/hgext/patchbomb.py*", (glob)
Yuya Nishihara
debugextensions: hide "ships-with-hg-core" magic string (BC)...
r29893 "testedwith": []
liscju
mercurial: add debugextensions command (issue4676)...
r26351 },
{
"buglink": "",
Yuya Nishihara
debugextensions: show ships-with-hg-core state as a separate field...
r29892 "bundled": true,
liscju
mercurial: add debugextensions command (issue4676)...
r26351 "name": "rebase",
Kevin Bullock
test-debugextensions: passes with byte-compilation disabled (issue5147)
r28615 "source": "*/hgext/rebase.py*", (glob)
Yuya Nishihara
debugextensions: hide "ships-with-hg-core" magic string (BC)...
r29893 "testedwith": []
liscju
mercurial: add debugextensions command (issue4676)...
r26351 }
]
Yuya Nishihara
debugextension: change "testedwith" to a list (BC)...
r29703
Yuya Nishihara
test-debugextensions: add dummy extension to make ifcontains() test more solid...
r29891 $ hg debugextensions -T '{ifcontains("3.1", testedwith, "{name}\n")}'
ext2
$ hg debugextensions \
> -T '{ifcontains("3.2", testedwith, "no substring match: {name}\n")}'