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

r34407:0133ca39 default
r37869:04ceb267 @26 default
Show More
test-debian-packages.t
32 lines | 1.2 KiB | text/troff | Tads3Lexer
/ tests / test-debian-packages.t
Kyle Lippincott
tests: add "have" check for dpkg builddeps...
r34402 #require test-repo slow debhelper debdeps
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148
timeless
tests: silence test-repo obsolete warning...
r29219 $ . "$TESTDIR/helpers-testrepo.sh"
Yuya Nishihara
tests: alias syshg and syshgenv so they can be switched conditionally
r33199 $ testrepohgenv
timeless
tests: silence test-repo obsolete warning...
r29219
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 Ensure debuild doesn't run the testsuite, as that could get silly.
$ DEB_BUILD_OPTIONS=nocheck
$ export DEB_BUILD_OPTIONS
Augie Fackler
test-debian-packages: new test for testing construction of debian packages
r26147 $ OUTPUTDIR=`pwd`
$ export OUTPUTDIR
$ cd "$TESTDIR"/..
$ make deb > $OUTPUTDIR/build.log 2>&1
$ cd $OUTPUTDIR
Kyle Lippincott
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)...
r34401 $ ls *.deb | grep -v 'dbg'
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 mercurial-common_*.deb (glob)
mercurial_*.deb (glob)
main deb should have .so but no .py
$ dpkg --contents mercurial_*.deb | egrep '(localrepo|parsers)'
Kyle Lippincott
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)...
r34401 * ./usr/lib/python2.7/dist-packages/mercurial/cext/parsers*.so (glob)
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 mercurial-common should have py but no .so or pyc
Kyle Lippincott
tests: expect parsers.so in cext, parsers.py in pure (test-debian-packages)...
r34401 $ dpkg --contents mercurial-common_*.deb | egrep '(localrepo|parsers.*so)'
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 * ./usr/lib/python2.7/dist-packages/mercurial/localrepo.py (glob)
Kyle Lippincott
deb: install zsh completions to /usr/share/zsh/vendor-completions...
r34406 zsh completions should be in the common package
$ dpkg --contents mercurial-common_*.deb | egrep 'zsh.*[^/]$'
* ./usr/share/zsh/vendor-completions/_hg (glob)
Kyle Lippincott
deb: build and install chg...
r34407 chg should be installed alongside hg, in the 'mercurial' package
$ dpkg --contents mercurial_*.deb | egrep 'chg$'
* ./usr/bin/chg (glob)
chg should come with a man page
$ dpkg --contents mercurial_*.deb | egrep 'man.*chg'
* ./usr/share/man/man1/chg.1.gz (glob)