diff --git a/mercurial/changegroup.py b/mercurial/changegroup.py --- a/mercurial/changegroup.py +++ b/mercurial/changegroup.py @@ -1468,7 +1468,7 @@ needv03 = False if ( repo.ui.configbool(b'experimental', b'changegroup3') - or repo.ui.configbool(b'experimental', b'treemanifest') + or repo.ui.configbool(b'storage', b'treemanifest') or b'treemanifest' in repo.requirements ): # we keep version 03 because we need to to exchange treemanifest data diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -679,9 +679,6 @@ b'experimental', b'sparse-read.min-gap-size', default=b'65K', ) coreconfigitem( - b'experimental', b'treemanifest', default=False, -) -coreconfigitem( b'experimental', b'update.atomic-file', default=False, ) coreconfigitem( @@ -1056,6 +1053,10 @@ b'storage', b'revlog.zstd.level', default=None, ) coreconfigitem( + b'storage', b'treemanifest', default=False, + alias=[(b'experimental', b'treemanifest')], +) +coreconfigitem( b'server', b'bookmarks-pushkey-compat', default=True, ) coreconfigitem( diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -3515,7 +3515,7 @@ # experimental config: format.use-side-data if ui.configbool(b'format', b'use-side-data'): requirements.add(SIDEDATA_REQUIREMENT) - if ui.configbool(b'experimental', b'treemanifest'): + if ui.configbool(b'storage', b'treemanifest'): requirements.add(b'treemanifest') revlogv2 = ui.config(b'experimental', b'revlogv2') diff --git a/tests/test-narrow-clone-stream.t b/tests/test-narrow-clone-stream.t --- a/tests/test-narrow-clone-stream.t +++ b/tests/test-narrow-clone-stream.t @@ -6,7 +6,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-commit.t b/tests/test-narrow-commit.t --- a/tests/test-narrow-commit.t +++ b/tests/test-narrow-commit.t @@ -4,7 +4,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-merge.t b/tests/test-narrow-merge.t --- a/tests/test-narrow-merge.t +++ b/tests/test-narrow-merge.t @@ -4,7 +4,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-share.t b/tests/test-narrow-share.t --- a/tests/test-narrow-share.t +++ b/tests/test-narrow-share.t @@ -4,7 +4,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-sparse.t b/tests/test-narrow-sparse.t --- a/tests/test-narrow-sparse.t +++ b/tests/test-narrow-sparse.t @@ -10,7 +10,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-strip.t b/tests/test-narrow-strip.t --- a/tests/test-narrow-strip.t +++ b/tests/test-narrow-strip.t @@ -12,7 +12,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-trackedcmd.t b/tests/test-narrow-trackedcmd.t --- a/tests/test-narrow-trackedcmd.t +++ b/tests/test-narrow-trackedcmd.t @@ -3,7 +3,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-widen-no-ellipsis.t b/tests/test-narrow-widen-no-ellipsis.t --- a/tests/test-narrow-widen-no-ellipsis.t +++ b/tests/test-narrow-widen-no-ellipsis.t @@ -3,7 +3,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow-widen.t b/tests/test-narrow-widen.t --- a/tests/test-narrow-widen.t +++ b/tests/test-narrow-widen.t @@ -3,7 +3,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-narrow.t b/tests/test-narrow.t --- a/tests/test-narrow.t +++ b/tests/test-narrow.t @@ -17,7 +17,7 @@ #if tree $ cat << EOF >> $HGRCPATH - > [experimental] + > [storage] > treemanifest = 1 > EOF #endif diff --git a/tests/test-strip-cross.t b/tests/test-strip-cross.t --- a/tests/test-strip-cross.t +++ b/tests/test-strip-cross.t @@ -164,13 +164,13 @@ Now a similar test for a non-root manifest revlog $ cat >> $HGRCPATH < [experimental] + > [storage] > treemanifests = yes > EOF $ mkdir treemanifests $ cd treemanifests $ - $ hg --config experimental.treemanifest=True init orig + $ hg --config storage.treemanifest=True init orig $ cd orig $ commit 'dir/file' $ commit 'dir/other' @@ -179,7 +179,7 @@ $ commit 'otherdir dir/file' $ commit 'otherdir dir/other' 'otherdir dir/file' $ cd .. - $ hg --config experimental.treemanifest=True clone -q -U -r 1 -r 2 -r 3 -r 4 orig crossed + $ hg --config storage.treemanifest=True clone -q -U -r 1 -r 2 -r 3 -r 4 orig crossed $ cd crossed $ hg debugindex --dir dir rev linkrev nodeid p1 p2 @@ -190,7 +190,7 @@ $ cd .. $ for i in 2 3; do - > hg --config experimental.treemanifest=True clone -q -U --pull crossed $i + > hg --config storage.treemanifest=True clone -q -U --pull crossed $i > echo "% Trying to strip revision $i" > hg --cwd $i strip $i > echo "% Verifying" diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t --- a/tests/test-treemanifest.t +++ b/tests/test-treemanifest.t @@ -5,7 +5,7 @@ Set up repo - $ hg --config experimental.treemanifest=True init repo + $ hg --config storage.treemanifest=True init repo $ cd repo Requirements get set on init @@ -222,7 +222,7 @@ Create clone with tree manifests enabled $ cd .. - $ hg clone --config experimental.treemanifest=1 \ + $ hg clone --config storage.treemanifest=1 \ > http://localhost:$HGPORT repo-mixed -r 1 adding changesets adding manifests @@ -305,7 +305,7 @@ 0 4 064927a0648a 000000000000 000000000000 1 5 25ecb8cb8618 000000000000 000000000000 $ echo 2 > dir1/a - $ hg --config experimental.treemanifest=False ci -qm 'modify dir1/a' + $ hg --config storage.treemanifest=False ci -qm 'modify dir1/a' $ hg debugindex --dir dir1 rev linkrev nodeid p1 p2 0 4 064927a0648a 000000000000 000000000000 @@ -392,7 +392,7 @@ Pushing to an empty repo works - $ hg --config experimental.treemanifest=1 init clone + $ hg --config storage.treemanifest=1 init clone $ grep treemanifest clone/.hg/requires treemanifest $ hg push -R repo clone @@ -414,7 +414,7 @@ Create deeper repo with tree manifests. - $ hg --config experimental.treemanifest=True init deeprepo + $ hg --config storage.treemanifest=True init deeprepo $ cd deeprepo $ mkdir .A @@ -673,7 +673,7 @@ $ cat hg.pid >> $DAEMON_PIDS $ cd .. We can clone even with the knob turned off and we'll get a treemanifest repo. - $ hg clone --config experimental.treemanifest=False \ + $ hg clone --config storage.treemanifest=False \ > --config experimental.changegroup3=True \ > http://localhost:$HGPORT deepclone requesting all changes @@ -850,7 +850,7 @@ $ mkdir grafted-dir-repo $ cd grafted-dir-repo - $ hg --config experimental.treemanifest=1 init + $ hg --config storage.treemanifest=1 init $ mkdir dir $ echo a > dir/file $ echo a > file @@ -868,7 +868,7 @@ created new head $ cd .. - $ hg --config experimental.treemanifest=1 clone --pull -r 1 \ + $ hg --config storage.treemanifest=1 clone --pull -r 1 \ > grafted-dir-repo grafted-dir-repo-clone adding changesets adding manifests diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -35,7 +35,7 @@ Do not yet support upgrading treemanifest repos - $ hg --config experimental.treemanifest=true init treemanifest + $ hg --config storage.treemanifest=true init treemanifest $ hg -R treemanifest debugupgraderepo abort: cannot upgrade repository; unsupported source requirement: treemanifest [255] @@ -43,7 +43,7 @@ Cannot add treemanifest requirement during upgrade $ hg init disallowaddedreq - $ hg -R disallowaddedreq --config experimental.treemanifest=true debugupgraderepo + $ hg -R disallowaddedreq --config storage.treemanifest=true debugupgraderepo abort: cannot upgrade repository; do not support adding requirement: treemanifest [255]