# HG changeset patch # User Pierre-Yves David # Date 2021-10-19 22:57:02 # Node ID bf11ff22a9afb5dde927ab9e6895fa4826cfc3ed # Parent e2836d08c88ca0d0f0c0f5af066e526769120306 dirstate-v2: freeze the on-disk format It seems the format as reached a good balance. With a core of new capabilities that motivated it initially and enough new feature and room for future improvement to be a clear progress we can set a milestone for. Having the format frozen will help the feature to get real life testing, outside of the test suite. The feature itself stay experimental but the config gains a new name to avoid people enable non-frozen version by default. If too many bugs are reported during the RC we might move the format back to experimental and drop its support in future version (in favor of a new one) Differential Revision: https://phab.mercurial-scm.org/D11709 diff --git a/mercurial/configitems.py b/mercurial/configitems.py --- a/mercurial/configitems.py +++ b/mercurial/configitems.py @@ -1306,7 +1306,7 @@ coreconfigitem( # Enable this dirstate format *when creating a new repository*. # Which format to use for existing repos is controlled by .hg/requires b'format', - b'exp-dirstate-v2', + b'exp-rc-dirstate-v2', default=False, experimental=True, ) @@ -1880,7 +1880,7 @@ coreconfigitem( default=b'skip', experimental=True, ) -# experimental as long as format.exp-dirstate-v2 is. +# experimental as long as format.exp-rc-dirstate-v2 is. coreconfigitem( b'storage', b'dirstate-v2.slow-path', diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -1189,7 +1189,7 @@ def resolverevlogstorevfsoptions(ui, req b"fast implementation." ) hint = _( - b"check `hg help config.format.exp-dirstate-v2` " b"for details" + b"check `hg help config.format.exp-rc-dirstate-v2` " b"for details" ) if not dirstate.HAS_FAST_DIRSTATE_V2: if slow_path == b'warn': @@ -3630,9 +3630,9 @@ def newreporequirements(ui, createopts): if ui.configbool(b'format', b'sparse-revlog'): requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT) - # experimental config: format.exp-dirstate-v2 + # experimental config: format.exp-rc-dirstate-v2 # Keep this logic in sync with `has_dirstate_v2()` in `tests/hghave.py` - if ui.configbool(b'format', b'exp-dirstate-v2'): + if ui.configbool(b'format', b'exp-rc-dirstate-v2'): requirements.add(requirementsmod.DIRSTATE_V2_REQUIREMENT) # experimental config: format.exp-use-copies-side-data-changeset diff --git a/mercurial/requirements.py b/mercurial/requirements.py --- a/mercurial/requirements.py +++ b/mercurial/requirements.py @@ -12,7 +12,7 @@ DOTENCODE_REQUIREMENT = b'dotencode' STORE_REQUIREMENT = b'store' FNCACHE_REQUIREMENT = b'fncache' -DIRSTATE_V2_REQUIREMENT = b'exp-dirstate-v2' +DIRSTATE_V2_REQUIREMENT = b'dirstate-v2' # When narrowing is finalized and no longer subject to format changes, # we should move this to just "narrow" or similar. diff --git a/mercurial/upgrade_utils/actions.py b/mercurial/upgrade_utils/actions.py --- a/mercurial/upgrade_utils/actions.py +++ b/mercurial/upgrade_utils/actions.py @@ -178,7 +178,9 @@ class dirstatev2(requirementformatvarian description = _( b'version 1 of the dirstate file format requires ' - b'reading and parsing it all at once.' + b'reading and parsing it all at once.\n' + b'Version 2 has a better structure,' + b'better information and lighter update mechanism' ) upgrademessage = _(b'"hg status" will be faster') diff --git a/rust/hg-core/src/requirements.rs b/rust/hg-core/src/requirements.rs --- a/rust/hg-core/src/requirements.rs +++ b/rust/hg-core/src/requirements.rs @@ -92,7 +92,7 @@ const SUPPORTED: &[&str] = &[ // Copied from mercurial/requirements.py: -pub(crate) const DIRSTATE_V2_REQUIREMENT: &str = "exp-dirstate-v2"; +pub(crate) const DIRSTATE_V2_REQUIREMENT: &str = "dirstate-v2"; /// When narrowing is finalized and no longer subject to format changes, /// we should move this to just "narrow" or similar. diff --git a/tests/test-basic.t b/tests/test-basic.t --- a/tests/test-basic.t +++ b/tests/test-basic.t @@ -6,7 +6,7 @@ Create a repository: devel.all-warnings=true devel.default-date=0 0 extensions.fsmonitor= (fsmonitor !) - format.exp-dirstate-v2=1 (dirstate-v2 !) + format.exp-rc-dirstate-v2=1 (dirstate-v2 !) largefiles.usercache=$TESTTMP/.cache/largefiles lfs.usercache=$TESTTMP/.cache/lfs ui.slash=True diff --git a/tests/test-commandserver.t b/tests/test-commandserver.t --- a/tests/test-commandserver.t +++ b/tests/test-commandserver.t @@ -218,7 +218,7 @@ check that local configs for the cached devel.all-warnings=true devel.default-date=0 0 extensions.fsmonitor= (fsmonitor !) - format.exp-dirstate-v2=1 (dirstate-v2 !) + format.exp-rc-dirstate-v2=1 (dirstate-v2 !) largefiles.usercache=$TESTTMP/.cache/largefiles lfs.usercache=$TESTTMP/.cache/lfs ui.slash=True diff --git a/tests/test-dirstate-race.t b/tests/test-dirstate-race.t --- a/tests/test-dirstate-race.t +++ b/tests/test-dirstate-race.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-dirstate-race2.t b/tests/test-dirstate-race2.t --- a/tests/test-dirstate-race2.t +++ b/tests/test-dirstate-race2.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-dirstate.t b/tests/test-dirstate.t --- a/tests/test-dirstate.t +++ b/tests/test-dirstate.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-hgignore.t b/tests/test-hgignore.t --- a/tests/test-hgignore.t +++ b/tests/test-hgignore.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-init.t b/tests/test-init.t --- a/tests/test-init.t +++ b/tests/test-init.t @@ -19,7 +19,7 @@ creating 'local' store created 00changelog.i created dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -61,7 +61,7 @@ creating repo with format.usestore=false $ hg --config format.usestore=false init old $ checknewrepo old - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) generaldelta persistent-nodemap (rust !) revlog-compression-zstd (zstd !) @@ -75,7 +75,7 @@ creating repo with format.usefncache=fal $ checknewrepo old2 store created 00changelog.i created - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) generaldelta persistent-nodemap (rust !) revlog-compression-zstd (zstd !) @@ -90,7 +90,7 @@ creating repo with format.dotencode=fals $ checknewrepo old3 store created 00changelog.i created - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -107,7 +107,7 @@ creating repo with format.dotencode=fals store created 00changelog.i created dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache persistent-nodemap (rust !) revlog-compression-zstd (zstd !) @@ -226,7 +226,7 @@ creating 'local/sub/repo' store created 00changelog.i created dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -249,7 +249,7 @@ init should (for consistency with clone) store created 00changelog.i created dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -268,7 +268,7 @@ verify that clone also expand urls store created 00changelog.i created dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) diff --git a/tests/test-lfconvert.t b/tests/test-lfconvert.t --- a/tests/test-lfconvert.t +++ b/tests/test-lfconvert.t @@ -96,7 +96,7 @@ Test link+rename largefile codepath "lfconvert" adds 'largefiles' to .hg/requires. $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta largefiles diff --git a/tests/test-lfs-largefiles.t b/tests/test-lfs-largefiles.t --- a/tests/test-lfs-largefiles.t +++ b/tests/test-lfs-largefiles.t @@ -290,7 +290,7 @@ The requirement is added to the destinat $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta lfs diff --git a/tests/test-narrow-clone-no-ellipsis.t b/tests/test-narrow-clone-no-ellipsis.t --- a/tests/test-narrow-clone-no-ellipsis.t +++ b/tests/test-narrow-clone-no-ellipsis.t @@ -24,7 +24,7 @@ narrow clone a file, f10 $ cd narrow $ cat .hg/requires | grep -v generaldelta dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache narrowhg-experimental persistent-nodemap (rust !) 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 @@ -64,7 +64,7 @@ Making sure we have the correct set of r $ cat .hg/requires dotencode (tree !) dotencode (flat-fncache !) - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache (tree !) fncache (flat-fncache !) generaldelta diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t --- a/tests/test-narrow-clone.t +++ b/tests/test-narrow-clone.t @@ -40,7 +40,7 @@ narrow clone a file, f10 $ cd narrow $ cat .hg/requires | grep -v generaldelta dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache narrowhg-experimental persistent-nodemap (rust !) 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 @@ -58,7 +58,7 @@ XXX: we should have a flag in `hg debugs $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta narrowhg-experimental diff --git a/tests/test-permissions.t b/tests/test-permissions.t --- a/tests/test-permissions.t +++ b/tests/test-permissions.t @@ -5,7 +5,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-persistent-nodemap.t b/tests/test-persistent-nodemap.t --- a/tests/test-persistent-nodemap.t +++ b/tests/test-persistent-nodemap.t @@ -800,7 +800,7 @@ downgrading requirements preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) removed: persistent-nodemap processed revlogs: @@ -844,7 +844,7 @@ upgrading requirements preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) added: persistent-nodemap processed revlogs: @@ -876,7 +876,7 @@ Running unrelated upgrade requirements preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) optimisations: re-delta-all diff --git a/tests/test-phases.t b/tests/test-phases.t --- a/tests/test-phases.t +++ b/tests/test-phases.t @@ -884,7 +884,7 @@ Check we deny its usage on older reposit $ cd no-internal-phase $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -913,7 +913,7 @@ Check it works fine with repository that $ cd internal-phase $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta internal-phase diff --git a/tests/test-purge.t b/tests/test-purge.t --- a/tests/test-purge.t +++ b/tests/test-purge.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-remotefilelog-clone-tree.t b/tests/test-remotefilelog-clone-tree.t --- a/tests/test-remotefilelog-clone-tree.t +++ b/tests/test-remotefilelog-clone-tree.t @@ -27,7 +27,7 @@ $ cd shallow $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta @@ -71,7 +71,7 @@ $ cd shallow2 $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta @@ -115,7 +115,7 @@ $ ls shallow3/.hg/store/data $ cat shallow3/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta diff --git a/tests/test-remotefilelog-clone.t b/tests/test-remotefilelog-clone.t --- a/tests/test-remotefilelog-clone.t +++ b/tests/test-remotefilelog-clone.t @@ -24,7 +24,7 @@ $ cd shallow $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta @@ -61,7 +61,7 @@ $ cd shallow2 $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta @@ -113,7 +113,7 @@ check its contents separately. $ ls shallow3/.hg/store/data $ cat shallow3/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta diff --git a/tests/test-remotefilelog-log.t b/tests/test-remotefilelog-log.t --- a/tests/test-remotefilelog-log.t +++ b/tests/test-remotefilelog-log.t @@ -27,7 +27,7 @@ Shallow clone from full $ cd shallow $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-remotefilelog-repo-req-1 fncache generaldelta diff --git a/tests/test-repo-compengines.t b/tests/test-repo-compengines.t --- a/tests/test-repo-compengines.t +++ b/tests/test-repo-compengines.t @@ -11,7 +11,7 @@ A new repository uses zlib storage, whic $ cd default $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -61,7 +61,7 @@ with that engine or a requirement $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -81,7 +81,7 @@ with that engine or a requirement $ cd zstd $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -186,7 +186,7 @@ checking details of none compression $ cat none-compression/.hg/requires dotencode exp-compression-none - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) diff --git a/tests/test-requires.t b/tests/test-requires.t --- a/tests/test-requires.t +++ b/tests/test-requires.t @@ -50,7 +50,7 @@ another repository of push/pull/clone on > EOF $ hg -R supported debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) featuresetup-test fncache generaldelta diff --git a/tests/test-revlog-v2.t b/tests/test-revlog-v2.t --- a/tests/test-revlog-v2.t +++ b/tests/test-revlog-v2.t @@ -22,7 +22,7 @@ Can create and open repo with revlog v2 $ cd new-repo $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-revlogv2.2 fncache generaldelta diff --git a/tests/test-share-safe.t b/tests/test-share-safe.t --- a/tests/test-share-safe.t +++ b/tests/test-share-safe.t @@ -19,7 +19,7 @@ prepare source repo $ hg init source $ cd source $ cat .hg/requires - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) share-safe $ cat .hg/store/requires dotencode @@ -30,7 +30,7 @@ prepare source repo store $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -54,13 +54,13 @@ Create a shared repo and check the requi 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ cd shared1 $ cat .hg/requires - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) share-safe shared $ hg debugrequirements -R ../source dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -70,7 +70,7 @@ Create a shared repo and check the requi $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -225,7 +225,7 @@ Disable zstd related tests because its n requirements preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (dirstate-v2 !) added: revlog-compression-zstd processed revlogs: @@ -253,8 +253,8 @@ Disable zstd related tests because its n requirements preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !) preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !) added: persistent-nodemap processed revlogs: @@ -327,7 +327,7 @@ Test that upgrading using debugupgradere $ cd non-share-safe $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -346,7 +346,7 @@ Create a share before upgrading 2 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg debugrequirements -R nss-share dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -360,7 +360,7 @@ Upgrade $ hg debugupgraderepo -q requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) added: share-safe processed revlogs: @@ -373,7 +373,7 @@ Upgrade requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) added: share-safe share-safe @@ -394,7 +394,7 @@ Upgrade $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -403,7 +403,7 @@ Upgrade store $ cat .hg/requires - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) share-safe $ cat .hg/store/requires @@ -454,7 +454,7 @@ Test that downgrading works too $ hg debugupgraderepo -q requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) removed: share-safe processed revlogs: @@ -467,7 +467,7 @@ Test that downgrading works too requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) removed: share-safe processed revlogs: @@ -485,7 +485,7 @@ Test that downgrading works too $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -494,7 +494,7 @@ Test that downgrading works too $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 @@ -553,7 +553,7 @@ Testing automatic upgrade of shares when requirements preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !) - preserved: dotencode, exp-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) + preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !) added: share-safe processed revlogs: @@ -564,7 +564,7 @@ Testing automatic upgrade of shares when repository upgraded to share safe mode, existing shares will still work in old non-safe mode. Re-share existing shares to use them in safe mode New shares will be created in safe mode. $ hg debugrequirements dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta revlogv1 diff --git a/tests/test-sparse-requirement.t b/tests/test-sparse-requirement.t --- a/tests/test-sparse-requirement.t +++ b/tests/test-sparse-requirement.t @@ -18,7 +18,7 @@ Enable sparse profile $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -38,7 +38,7 @@ Requirement for sparse added when sparse $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-sparse fncache generaldelta @@ -61,7 +61,7 @@ Requirement for sparse is removed when s $ cat .hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) diff --git a/tests/test-sqlitestore.t b/tests/test-sqlitestore.t --- a/tests/test-sqlitestore.t +++ b/tests/test-sqlitestore.t @@ -15,7 +15,7 @@ New repo should not use SQLite by defaul $ hg init empty-no-sqlite $ cat empty-no-sqlite/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) fncache generaldelta persistent-nodemap (rust !) @@ -29,7 +29,7 @@ storage.new-repo-backend=sqlite is recog $ hg --config storage.new-repo-backend=sqlite init empty-sqlite $ cat empty-sqlite/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-sqlite-001 exp-sqlite-comp-001=zstd (zstd !) exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$ (no-zstd !) @@ -51,7 +51,7 @@ Can force compression to zlib $ hg --config storage.sqlite.compression=zlib init empty-zlib $ cat empty-zlib/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-sqlite-001 exp-sqlite-comp-001=$BUNDLE2_COMPRESSIONS$ fncache @@ -67,7 +67,7 @@ Can force compression to none $ hg --config storage.sqlite.compression=none init empty-none $ cat empty-none/.hg/requires dotencode - exp-dirstate-v2 (dirstate-v2 !) + exp-rc-dirstate-v2 (dirstate-v2 !) exp-sqlite-001 exp-sqlite-comp-001=none fncache diff --git a/tests/test-status.t b/tests/test-status.t --- a/tests/test-status.t +++ b/tests/test-status.t @@ -3,7 +3,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF diff --git a/tests/test-stream-bundle-v2.t b/tests/test-stream-bundle-v2.t --- a/tests/test-stream-bundle-v2.t +++ b/tests/test-stream-bundle-v2.t @@ -48,12 +48,12 @@ The extension requires a repo (currently stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (no-zstd !) stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (zstd no-rust !) stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (rust no-dirstate-v2 !) - stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cexp-dirstate-v2%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (dirstate-v2 !) + stream2 -- {bytecount: 1693, filecount: 11, requirements: dotencode%2Cexp-rc-dirstate-v2%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore} (mandatory: True) (dirstate-v2 !) $ hg debugbundle --spec bundle.hg none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlogv1%2Csparserevlog%2Cstore (no-zstd !) none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (zstd no-rust !) none-v2;stream=v2;requirements%3Ddotencode%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (rust no-dirstate-v2 !) - none-v2;stream=v2;requirements%3Ddotencode%2Cexp-dirstate-v2%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (dirstate-v2 !) + none-v2;stream=v2;requirements%3Ddotencode%2Cexp-rc-dirstate-v2%2Cfncache%2Cgeneraldelta%2Cpersistent-nodemap%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog%2Cstore (dirstate-v2 !) Test that we can apply the bundle as a stream clone bundle diff --git a/tests/test-symlinks.t b/tests/test-symlinks.t --- a/tests/test-symlinks.t +++ b/tests/test-symlinks.t @@ -5,7 +5,7 @@ #if dirstate-v2 $ cat >> $HGRCPATH << EOF > [format] - > exp-dirstate-v2=1 + > exp-rc-dirstate-v2=1 > [storage] > dirstate-v2.slow-path=allow > EOF 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 @@ -1638,7 +1638,7 @@ Demonstrate that nothing to perform upgr Upgrade to dirstate-v2 - $ hg debugformat -v --config format.exp-dirstate-v2=1 + $ hg debugformat -v --config format.exp-rc-dirstate-v2=1 format-variant repo config default fncache: yes yes yes dirstate-v2: no yes no @@ -1653,12 +1653,12 @@ Upgrade to dirstate-v2 plain-cl-delta: yes yes yes compression: zstd zstd zstd compression-level: default default default - $ hg debugupgraderepo --config format.exp-dirstate-v2=1 --run + $ hg debugupgraderepo --config format.exp-rc-dirstate-v2=1 --run upgrade will perform the following actions: requirements preserved: dotencode, exp-revlogv2.2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store - added: exp-dirstate-v2 + added: dirstate-v2 dirstate-v2 "hg status" will be faster @@ -1703,7 +1703,7 @@ Downgrade from dirstate-v2 requirements preserved: dotencode, exp-revlogv2.2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, sparserevlog, store - removed: exp-dirstate-v2 + removed: dirstate-v2 processed revlogs: - all-filelogs