view tests/test-sparse-requirement.t @ 34903:16d9f0b3e134

build: build deb/rpm independently on config/extensions in the host system Reverts 5aac617a028d and replaces it with a more general solution. - works for both rpm and deb - sidesteps eventual problems with local extensions that have nothing to do with the build process (hg-git, for example, fails with version 4.4 because dedab036215d removed peerrepository, and hg-git still uses it as of 0.8.9)
author muxator <a.mux@inwind.it>
date Tue, 17 Oct 2017 22:46:08 +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