D11709: dirstate-v2: freeze the on-disk format
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Wed Oct 20 11:00:01 UTC 2021
marmoute created this revision.
Herald added a reviewer: durin42.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
marmoute added a comment.
Lets put the option on the table.
REVISION SUMMARY
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)
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D11709
AFFECTED FILES
mercurial/configitems.py
mercurial/localrepo.py
mercurial/requirements.py
mercurial/upgrade_utils/actions.py
rust/hg-core/src/requirements.rs
tests/test-basic.t
tests/test-commandserver.t
tests/test-dirstate-race.t
tests/test-dirstate-race2.t
tests/test-dirstate.t
tests/test-hgignore.t
tests/test-init.t
tests/test-lfconvert.t
tests/test-lfs-largefiles.t
tests/test-narrow-clone-no-ellipsis.t
tests/test-narrow-clone-stream.t
tests/test-narrow-clone.t
tests/test-narrow-sparse.t
tests/test-permissions.t
tests/test-persistent-nodemap.t
tests/test-phases.t
tests/test-purge.t
tests/test-remotefilelog-clone-tree.t
tests/test-remotefilelog-clone.t
tests/test-remotefilelog-log.t
tests/test-repo-compengines.t
tests/test-requires.t
tests/test-revlog-v2.t
tests/test-share-safe.t
tests/test-sparse-requirement.t
tests/test-sqlitestore.t
tests/test-status.t
tests/test-stream-bundle-v2.t
tests/test-symlinks.t
tests/test-upgrade-repo.t
CHANGE DETAILS
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 @@
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 @@
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 @@
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
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-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 @@
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-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-sqlitestore.t b/tests/test-sqlitestore.t
--- a/tests/test-sqlitestore.t
+++ b/tests/test-sqlitestore.t
@@ -15,7 +15,7 @@
$ 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 @@
$ 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 @@
$ 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 @@
$ 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-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 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
persistent-nodemap (rust !)
@@ -38,7 +38,7 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
exp-sparse
fncache
generaldelta
@@ -61,7 +61,7 @@
$ 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-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 @@
$ 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 @@
store
$ hg debugrequirements
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
revlogv1
@@ -54,13 +54,13 @@
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 @@
$ hg debugrequirements
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
revlogv1
@@ -225,7 +225,7 @@
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 @@
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 @@
$ 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 @@
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 @@
$ 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 @@
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 @@
$ hg debugrequirements
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
revlogv1
@@ -403,7 +403,7 @@
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 @@
$ 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 @@
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 @@
$ hg debugrequirements
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
revlogv1
@@ -494,7 +494,7 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
revlogv1
@@ -553,7 +553,7 @@
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 @@
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-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 @@
$ 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-requires.t b/tests/test-requires.t
--- a/tests/test-requires.t
+++ b/tests/test-requires.t
@@ -50,7 +50,7 @@
> 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-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 @@
$ 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 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
persistent-nodemap (rust !)
@@ -81,7 +81,7 @@
$ 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 @@
$ 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-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 @@
$ 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-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 @@
$ 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-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-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-phases.t b/tests/test-phases.t
--- a/tests/test-phases.t
+++ b/tests/test-phases.t
@@ -884,7 +884,7 @@
$ 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 @@
$ 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-persistent-nodemap.t b/tests/test-persistent-nodemap.t
--- a/tests/test-persistent-nodemap.t
+++ b/tests/test-persistent-nodemap.t
@@ -840,7 +840,7 @@
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:
@@ -884,7 +884,7 @@
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:
@@ -916,7 +916,7 @@
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-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-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 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
narrowhg-experimental
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 @@
$ 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 @@
$ 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-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 @@
$ 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-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 @@
$ cat .hg/requires
dotencode
- exp-dirstate-v2 (dirstate-v2 !)
+ exp-rc-dirstate-v2 (dirstate-v2 !)
fncache
generaldelta
lfs
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 @@
"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-init.t b/tests/test-init.t
--- a/tests/test-init.t
+++ b/tests/test-init.t
@@ -19,7 +19,7 @@
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 @@
$ 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 @@
$ 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 @@
$ 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 @@
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 @@
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 @@
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 @@
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-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-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-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-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-commandserver.t b/tests/test-commandserver.t
--- a/tests/test-commandserver.t
+++ b/tests/test-commandserver.t
@@ -218,7 +218,7 @@
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-basic.t b/tests/test-basic.t
--- a/tests/test-basic.t
+++ b/tests/test-basic.t
@@ -6,7 +6,7 @@
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/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 @@
// 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/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 @@
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 upgrade mechanism'
)
upgrademessage = _(b'"hg status" will be faster')
diff --git a/mercurial/requirements.py b/mercurial/requirements.py
--- a/mercurial/requirements.py
+++ b/mercurial/requirements.py
@@ -12,7 +12,7 @@
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/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1189,7 +1189,7 @@
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 @@
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/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -1306,7 +1306,7 @@
# 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 @@
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',
To: marmoute, durin42, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list