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

r34904:16d9f0b3 default
r37869:04ceb267 @26 default
Show More
packagelib.sh
38 lines | 1.1 KiB | application/x-sh | BashLexer
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 # Extract version number into 4 parts, some of which may be empty:
#
# version: the numeric part of the most recent tag. Will always look like 1.3.
#
# type: if an rc build, "rc", otherwise empty
#
# distance: the distance from the nearest tag, or empty if built from a tag
#
# node: the node|short hg was built from, or empty if built from a tag
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 gethgversion() {
muxator
build: build deb/rpm independently on config/extensions in the host system...
r34904 export HGRCPATH=
export HGPLAIN=
Pierre-Yves David
packagelib: do not remove packages directory in hggetversion (issue5262)...
r29641 make cleanbutpackages
muxator
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough...
r34687 make local PURE=--pure
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 HG="$PWD/hg"
muxator
build: initial version detection by make deb/rpm was missing quoting
r34624 "$HG" version > /dev/null || { echo 'abort: hg version failed!'; exit 1 ; }
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972
muxator
build: initial version detection by make deb/rpm was missing quoting
r34624 hgversion=`LANGUAGE=C "$HG" version | sed -ne 's/.*(version \(.*\))$/\1/p'`
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 if echo $hgversion | grep + > /dev/null 2>&1 ; then
tmp=`echo $hgversion | cut -d+ -f 2`
hgversion=`echo $hgversion | cut -d+ -f 1`
distance=`echo $tmp | cut -d- -f 1`
node=`echo $tmp | cut -d- -f 2`
else
distance=''
node=''
fi
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 if echo $hgversion | grep -- '-' > /dev/null 2>&1; then
version=`echo $hgversion | cut -d- -f1`
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 type=`echo $hgversion | cut -d- -f2`
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 else
Augie Fackler
packaging: rework version detection and declaration (issue4912)...
r26833 version=$hgversion
type=''
Augie Fackler
packaging: extract packagelib for common code from builddeb and buildrpm
r24972 fi
}