##// END OF EJS Templates
remotephase: avoid full changelog iteration (issue5964)...
remotephase: avoid full changelog iteration (issue5964) Changeset 88efb7d6bcb6 introduced a performance regression by triggering a full ancestors walk. This changeset reworks this logic so that we no longer walk down the full changelog. The motivation for 88efb7d6bcb6, issue5939, is still fixed. mercurial compared to a draft repository ---------------------------------------- 8eeed92475d5: 0.012637 seconds 88efb7d6bcb6: 0.202699 seconds (x16) 46da52f4b820: 0.215551 seconds (+6%) this code: 0.008397 seconds (-33% from base) The payload size reduction we see in `test-bookmarks-pushpull.t` comes from a more aggressive filter of nullid and is harmless.

File last commit:

r38031:6f5b4cee default
r39182:f736fdbe stable
Show More
build-linux-wheels.sh
34 lines | 1.1 KiB | application/x-sh | BashLexer
#!/bin/bash
# This file is directly inspired by
# https://github.com/pypa/python-manylinux-demo/blob/master/travis/build-wheels.sh
set -e -x
PYTHON_TARGETS=$(ls -d /opt/python/cp27*/bin)
# Create an user for the tests
useradd hgbuilder
# Bypass uid/gid problems
cp -R /src /io && chown -R hgbuilder:hgbuilder /io
# Compile wheels for Python 2.X
for PYBIN in $PYTHON_TARGETS; do
"${PYBIN}/pip" wheel /io/ -w wheelhouse/
done
# Bundle external shared libraries into the wheels with
# auditwheel (https://github.com/pypa/auditwheel) repair.
# It also fix the ABI tag on the wheel making it pip installable.
for whl in wheelhouse/*.whl; do
auditwheel repair "$whl" -w /src/wheelhouse/
done
# Install packages and run the tests for all Python versions
cd /io/tests/
for PYBIN in $PYTHON_TARGETS; do
# Install mercurial wheel as root
"${PYBIN}/pip" install mercurial --no-index -f /src/wheelhouse
# But run tests as hgbuilder user (non-root)
su hgbuilder -c "\"${PYBIN}/python\" /io/tests/run-tests.py --with-hg=\"${PYBIN}/hg\" --blacklist=/io/contrib/packaging/linux-wheel-centos5-blacklist"
done