Mercurial > hg
view tests/test-sparse-requirement.t @ 42126:ef0e3cc684b3
repoview: introduce a filter for serving hidden changesets
There are multiple usecase for being able to explicitly view or pull obsolete
from a server. We need to be able to do so without exposing the secret
changesets. We introduces a dedicated repository "view" to do so. Way to expose
this "view" to the user will come later.
To keep a behavior consistent with expected client/server behavior, the general
idea is for the obsolete access to be explicitly requested by the code
generating the request. In addition, the will be server side configuration to
restrict the access to this feature.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Mon, 21 May 2018 17:28:35 +0200 |
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