D6945: sidedatacopies: add a new requirement for storing copies into sidedata

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Mon Oct 7 20:38:06 EDT 2019


marmoute updated this revision to Diff 16949.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6945?vs=16777&id=16949

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6945/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6945

AFFECTED FILES
  mercurial/configitems.py
  mercurial/localrepo.py

CHANGE DETAILS

diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -442,6 +442,10 @@
 # information for revision without altering their original hashes.
 SIDEDATA_REQUIREMENT = b'exp-sidedata-flag'
 
+# A repository with the the copies-sidedata-changeset requirement will store
+# copies related information in changeset's sidedata.
+COPIESSDC_REQUIREMENT = b'exp-copies-sidedata-changeset'
+
 # Functions receiving (ui, features) that extensions can register to impact
 # the ability to load repositories with custom requirements. Only
 # functions defined in loaded extensions are called.
@@ -999,6 +1003,7 @@
         b'revlogv1',
         b'generaldelta',
         b'treemanifest',
+        COPIESSDC_REQUIREMENT,
         REVLOGV2_REQUIREMENT,
         SIDEDATA_REQUIREMENT,
         SPARSEREVLOG_REQUIREMENT,
@@ -3515,6 +3520,10 @@
     # experimental config: format.use-side-data
     if ui.configbool(b'format', b'use-side-data'):
         requirements.add(SIDEDATA_REQUIREMENT)
+    # experimental config: format.exp-use-copies-side-data-changeset
+    if ui.configbool(b'format', b'exp-use-copies-side-data-changeset'):
+        requirements.add(SIDEDATA_REQUIREMENT)
+        requirements.add(COPIESSDC_REQUIREMENT)
     if ui.configbool(b'experimental', b'treemanifest'):
         requirements.add(b'treemanifest')
 
diff --git a/mercurial/configitems.py b/mercurial/configitems.py
--- a/mercurial/configitems.py
+++ b/mercurial/configitems.py
@@ -748,6 +748,12 @@
     b'format', b'usestore', default=True,
 )
 coreconfigitem(
+    b'format',
+    b'exp-use-copies-side-data-changeset',
+    default=False,
+    experimental=True,
+)
+coreconfigitem(
     b'format', b'use-side-data', default=False, experimental=True,
 )
 coreconfigitem(



To: marmoute, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list