view tests/test-sparse-requirement.t @ 40723:94b0d0f996e1 stable

wireprotov2peer: always return a bool from _processredirect() Without this, we may stop servicing the redirect response if the future has already been resolved. And the future will often be resolved very early, since many consumers iterate the decoded CBOR object stream and expect data to lazily arrive.
author Gregory Szorc <gregory.szorc@gmail.com>
date Wed, 28 Nov 2018 10:37:43 -0800
parents c2c8962a9465
children 74a519c86625
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
  testonly-simplestore (reposimplestore !)

  $ 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
  testonly-simplestore (reposimplestore !)

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
  testonly-simplestore (reposimplestore !)

And client without sparse can access

  $ hg files
  a.html
  b.html
  c.py
  d.py
  frontend.sparse