docs: add missing dirstate-v2 documentation stable
authorRaphaël Gomès <rgomes@octobus.net>
Fri, 26 Nov 2021 12:17:51 +0100
branchstable
changeset 48533 5e7a0348acf8
parent 48532 7ccd31fda132
child 48534 7e7eaef091c6
docs: add missing dirstate-v2 documentation A user trying out the dirstate-v2 feature without the Rust extensions is currently faced with an error message suggesting this help section, which does not exist. Differential Revision: https://phab.mercurial-scm.org/D11809
mercurial/helptext/config.txt
--- a/mercurial/helptext/config.txt	Fri Nov 26 14:28:27 2021 +0100
+++ b/mercurial/helptext/config.txt	Fri Nov 26 12:17:51 2021 +0100
@@ -892,6 +892,35 @@
 
     Enabled by default.
 
+``exp-rc-dirstate-v2``
+    Enable or disable the experimental "dirstate-v2" feature. The dirstate
+    functionality is shared by all commands interacting with the working copy.
+    The new version is more robust, faster and stores more information.
+
+    The performance-improving version of this feature is currently only
+    implemented in Rust (see :hg:`help rust`), so people not using a version of
+    Mercurial compiled with the Rust parts might actually suffer some slowdown.
+    For this reason, such versions will by default refuse to access repositories
+    with "dirstate-v2" enabled.
+
+    This behavior can be adjusted via configuration: check
+    :hg:`help config.storage.dirstate-v2.slow-path` for details.
+
+    Repositories with this on-disk format require Mercurial 6.0 or above.
+
+    By default this format variant is disabled if the fast implementation is not
+    available, and enabled by default if the fast implementation is available.
+
+    To accomodate installations of Mercurial without the fast implementation,
+    you can downgrade your repository. To do so run the following command:
+
+    $ hg debugupgraderepo \
+          --run \
+          --config format.exp-rc-dirstate-v2=False \
+          --config storage.dirstate-v2.slow-path=allow
+
+    For a more comprehensive guide, see :hg:`help internals.dirstate-v2`.
+
 ``use-persistent-nodemap``
     Enable or disable the "persistent-nodemap" feature which improves
     performance if the rust extensions are available.