Mercurial > hg
view tests/test-sparse-requirement.t @ 47348:a4de570e61fa
dirstate-v2: Allow tree nodes without an entry to store a timestamp
Timestamps are stored on 96 bits:
* 64 bits for the signed number of seconds since the Unix epoch
* 32 bits for the nanoseconds in the `0 <= ns < 1_000_000_000` range
For now timestamps are not used or set yet.
Differential Revision: https://phab.mercurial-scm.org/D10825
author | Simon Sapin <simon.sapin@octobus.net> |
---|---|
date | Thu, 27 May 2021 18:40:54 +0200 |
parents | 40b51c28b242 |
children | bf11ff22a9af |
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 exp-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog store testonly-simplestore (reposimplestore !) $ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse $ ls -A .hg a.html b.html Requirement for sparse added when sparse is enabled $ cat .hg/requires dotencode exp-dirstate-v2 (dirstate-v2 !) exp-sparse fncache generaldelta persistent-nodemap (rust !) revlog-compression-zstd (zstd !) 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 exp-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) revlog-compression-zstd (zstd !) revlogv1 sparserevlog store testonly-simplestore (reposimplestore !) And client without sparse can access $ hg files a.html b.html c.py d.py frontend.sparse