Mercurial > hg
view tests/test-sparse-requirement.t @ 43957:7c3118b9a9db
revlog: split the content verification of a node into a separate method
This will be used by LFS to tune what is skipped.
In the future, this could also be used by LFS to indicate which nodes tagged
with `skipread` are simply in need of a blob fetch, so that they can be done in
a batch later. (Currently, `skipread` also indicates censored data and errors.)
Additionally, it could be used to cache the sha1 hash value for each blob so
that large blobs don't need to be re-read and re-hashed if they are used by
multiple nodes.
Differential Revision: https://phab.mercurial-scm.org/D7710
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sun, 22 Dec 2019 16:36:09 -0500 |
parents | a0886a4d6dce |
children | 5c2a4f37eace |
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 sparserevlog 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 sparserevlog 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 sparserevlog store testonly-simplestore (reposimplestore !) And client without sparse can access $ hg files a.html b.html c.py d.py frontend.sparse