D6934: revlog: explicitly set revlogv0 in vfs options

marmoute (Pierre-Yves David) phabricator at mercurial-scm.org
Tue Oct 1 13:08:37 EDT 2019


Closed by commit rHG188476e48f51: revlog: explicitly set revlogv0 in vfs options (authored by marmoute).
This revision was automatically updated to reflect the committed changes.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6934?vs=16748&id=16754

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

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

AFFECTED FILES
  mercurial/localrepo.py
  mercurial/revlog.py

CHANGE DETAILS

diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -363,10 +363,7 @@
             newversionflags = REVLOGV1 | FLAG_INLINE_DATA
             if 'generaldelta' in opts:
                 newversionflags |= FLAG_GENERALDELTA
-        elif getattr(self.opener, 'options', None) is not None:
-            # If options provided but no 'revlog*' found, the repository
-            # would have no 'requires' file in it, which means we have to
-            # stick to the old format.
+        elif 'revlogv0' in getattr(self.opener, 'options', {}):
             newversionflags = REVLOGV0
         else:
             newversionflags = REVLOG_DEFAULT_VERSION
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -748,6 +748,8 @@
     # meaningful on such old repos.
     if b'revlogv1' in requirements or REVLOGV2_REQUIREMENT in requirements:
         options.update(resolverevlogstorevfsoptions(ui, requirements, features))
+    else: # explicitly mark repo as using revlogv0
+        options['revlogv0'] = True
 
     return options
 



To: marmoute, martinvonz, durin42, indygreg, #hg-reviewers, pulkit
Cc: mercurial-devel


More information about the Mercurial-devel mailing list