Comments
Patch
@@ -398,11 +398,17 @@ class localrepository(object):
def _phasecache(self):
return phases.phasecache(self, self._phasedefaults)
@storecache('obsstore')
def obsstore(self):
- store = obsolete.obsstore(self.sopener)
+ # read default format for new obsstore.
+ defaultformat = self.ui.configint('format', 'obsstore-version', None)
+ # rely on obsstore class default when possible.
+ kwargs = {}
+ if defaultformat is not None:
+ defaultformat['defaultformat'] = defaultformat
+ store = obsolete.obsstore(self.sopener, **kwargs)
if store and not obsolete._enabled:
# message is rare enough to not be translated
msg = 'obsolete feature not enabled but %i markers found!\n'
self.ui.warn(msg % len(list(store)))
return store
@@ -448,20 +448,20 @@ class obsstore(object):
# meta: binary blob, encoded metadata dictionary
# date: (float, int) tuple, date of marker creation
# parents: (tuple of nodeid) or None, parents of precursors
# None is used when no data has been recorded
- def __init__(self, sopener):
+ def __init__(self, sopener, defaultformat=_fm0version):
# caches for various obsolescence related cache
self.caches = {}
self._all = []
self.precursors = {}
self.successors = {}
self.children = {}
self.sopener = sopener
data = sopener.tryread('obsstore')
- self._version = _fm0version
+ self._version = defaultformat
if data:
self._version, markers = _readmarkers(data)
self._load(markers)
def __iter__(self):