Mercurial > hg-stable
view contrib/builddeb @ 26005:6f4a280298c1
changelog: add way to call the reachableroots C implementation
This patch is part of a series of patches to speed up the computation of
revset.reachableroots by introducing a C implementation. The main motivation is
to speed up smartlog on big repositories. At the end of the series, on our big
repositories the computation of reachableroots is 10-50x faster and smartlog on
is 2x-5x faster.
This patch allows us to call the new C implementation of reachableroots from
python by creating an entry point in the changelog class.
author | Laurent Charignon <lcharignon@fb.com> |
---|---|
date | Thu, 06 Aug 2015 22:10:31 -0700 |
parents | 56c64c91b429 |
children | e5f2a2a095cb |
line wrap: on
line source
#!/bin/sh -e # # Build a Mercurial debian package from the current repo # # Tested on Jessie (stable as of original script authoring.) . $(dirname $0)/packagelib.sh BUILD=1 DEBBUILDDIR="$PWD/debbuild" while [ "$1" ]; do case "$1" in --prepare ) shift BUILD= ;; --debbuilddir ) shift DEBBUILDDIR="$1" shift ;; * ) echo "Invalid parameter $1!" 1>&2 exit 1 ;; esac done set -u rm -rf $DEBBUILDDIR mkdir -p $DEBBUILDDIR if [ ! -d .hg ]; then echo 'You are not inside a Mercurial repository!' 1>&2 exit 1 fi gethgversion cp -r $PWD/contrib/debian $DEBBUILDDIR/DEBIAN chmod -R 0755 $DEBBUILDDIR/DEBIAN control=$DEBBUILDDIR/DEBIAN/control # This looks like sed -i, but sed -i behaves just differently enough # between BSD and GNU sed that I gave up and did the dumb thing. sed "s/__VERSION__/$version/" < $control > $control.tmp mv $control.tmp $control if [ "$BUILD" ]; then dpkg-deb --build $DEBBUILDDIR mv $DEBBUILDDIR.deb $DEBBUILDDIR/mercurial-$version-$release.deb if [ $? = 0 ]; then echo echo "Built packages for $version-$release:" find $DEBBUILDDIR/ -type f -newer $control fi else echo "Prepared sources for $version-$release $control are in $DEBBUILDDIR - use like:" echo "dpkg-deb --build $DEBBUILDDIR" fi