Mercurial > hg
view tests/test-sparse-requirement.t @ 34686:0d1b8be8d8a8
build: for the bootstrap phase of a deb/rpm build pure-py mercurial is enough
When bootstrapping a deb/rpm build, packagelib.sh starts performing a local
build for the sole purpose of parsing the output of "hg version".
Then it "hg archive"s the source code, and builds everything again.
For that initial step, we are perfectly good in using a pure python mercurial,
without compiling the c modules (base85, bdiff, zstdlib, ...).
On my personal system, this cuts down 22 seconds for a package build (the
bootstrapping build goes from ~30 to ~8 seconds).
author | muxator <a.mux@inwind.it> |
---|---|
date | Fri, 13 Oct 2017 22:42:17 +0200 |
parents | 22371eabb3b1 |
children | c2c8962a9465 |
line wrap: on
line source
$ hg init repo $ cd repo $ touch a.html b.html c.py d.py $ cat > frontend.sparse << EOF > [include] > *.html > EOF $ hg -q commit -A -m initial $ echo 1 > a.html $ echo 1 > c.py $ hg commit -m 'commit 1' Enable sparse profile $ cat .hg/requires dotencode fncache generaldelta revlogv1 store $ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse $ ls a.html b.html Requirement for sparse added when sparse is enabled $ cat .hg/requires dotencode exp-sparse fncache generaldelta revlogv1 store Client without sparse enabled reacts properly $ hg files abort: repository is using sparse feature but sparse is not enabled; enable the "sparse" extensions to access! [255] Requirement for sparse is removed when sparse is disabled $ hg debugsparse --reset --config extensions.sparse= $ cat .hg/requires dotencode fncache generaldelta revlogv1 store And client without sparse can access $ hg files a.html b.html c.py d.py frontend.sparse