##// END OF EJS Templates
hgweb: compute changeset parents and children for log pages lazily...
hgweb: compute changeset parents and children for log pages lazily Log pages, i.e. changelog, filelog and search results page computed children and parents for each changeset shown, because spartan hgweb style shows this info. Turns out, computing all this is heavy and also unnecessary for log pages in all other hgweb styles. Luckily, templates allow an easy way to do computations on demand: just pass the heavy part of code as a callable and it will be only called when needed. Here are some benchmarks on the mercurial repository (best of 3): time wget http://127.0.0.1:8021/ before: 0m0.050s after: 0m0.040s time wget http://127.0.0.1:8021/?revcount=960 before: 0m1.164s after: 0m0.389s time wget http://127.0.0.1:8021/log/tip/mercurial/commands.py before: 0m0.047s after: 0m0.042s time wget http://127.0.0.1:8021/log/tip/mercurial/commands.py?revcount=960 before: 0m0.830s after: 0m0.434s

File last commit:

r26148:7f49efca default
r26894:41957e50 default
Show More
dockerdeb
34 lines | 1.0 KiB | text/plain | TextLexer
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 #!/bin/bash -eu
. $(dirname $0)/dockerlib.sh
. $(dirname $0)/packagelib.sh
BUILDDIR=$(dirname $0)
export ROOTDIR=$(cd $BUILDDIR/..; pwd)
checkdocker
Augie Fackler
builddeb: rework how output dir and platform are specified...
r26108 DEBPLATFORM="$1"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 PLATFORM="debian-$1"
shift # extra params are passed to build process
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 OUTPUTDIR=${OUTPUTDIR:=$ROOTDIR/packages/$PLATFORM}
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 initcontainer $PLATFORM
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 # debuild only appears to be able to save built debs etc to .., so we
# have to share the .. of the current directory with the docker
# container and hope it's writable. Whee.
dn=$(basename $PWD)
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973
if [ $(uname) = "Darwin" ] ; then
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
sh -c "cd /mnt/$dn && make clean && make local"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 fi
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
sh -c "cd /mnt/$dn && DEB_BUILD_OPTIONS='${DEB_BUILD_OPTIONS:=}' contrib/builddeb --build --release $DEBPLATFORM"
contrib/builddeb --cleanup --release $DEBPLATFORM
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 if [ $(uname) = "Darwin" ] ; then
Augie Fackler
debian: switch to using debhelper and dh_python2 to build debs...
r26148 $DOCKER run -u $DBUILDUSER --rm -v $PWD/..:/mnt $CONTAINER \
sh -c "cd /mnt/$dn && make clean"
Augie Fackler
dockerdeb: rules to build a debian package using docker...
r24973 fi