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

r34626:f1c2552c default
r38106:04ceb267 @26 default
Show More
rules
44 lines | 1.8 KiB | text/plain | TextLexer
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1
CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)
%:
dh $@ --with python2
override_dh_auto_test:
http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"
override_dh_python2:
dh_python2
find debian/mercurial/usr/share -type d -empty -delete
override_dh_install:
python$(PYVERS) setup.py install --root "$(CURDIR)"/debian/mercurial --install-layout=deb
# chg
make -C contrib/chg \
DESTDIR="$(CURDIR)"/debian/mercurial \
PREFIX=/usr \
clean install
# remove arch-independent python stuff
find "$(CURDIR)"/debian/mercurial/usr/lib \
! -name '*.so' ! -type d -delete , \
-type d -empty -delete
python$(PYVERS) setup.py install --root "$(CURDIR)/debian/mercurial-common" --install-layout=deb
make install-doc PREFIX="$(CURDIR)"/debian/mercurial-common/usr
# remove arch-dependent python stuff
find "$(CURDIR)"/debian/mercurial-common/usr/lib \
-name '*.so' ! -type d -delete , \
-type d -empty -delete
cp contrib/hg-ssh "$(CURDIR)"/debian/mercurial-common/usr/bin
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
cp contrib/hgk "$(CURDIR)"/debian/mercurial-common/usr/share/mercurial
mkdir -p "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
cp contrib/debian/*.rc "$(CURDIR)"/debian/mercurial-common/etc/mercurial/hgrc.d/
# completions
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions
cp contrib/bash_completion "$(CURDIR)"/debian/mercurial-common/usr/share/bash-completion/completions/hg
mkdir -p "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions
cp contrib/zsh_completion "$(CURDIR)"/debian/mercurial-common/usr/share/zsh/vendor-completions/_hg
rm "$(CURDIR)"/debian/mercurial-common/usr/bin/hg