##// END OF EJS Templates
obsolete: add readonly flag to obstore constructor...
Durham Goode -
r22950:bb8278b2 default
parent child Browse files
Show More
@@ -406,7 +406,8 b' class localrepository(object):'
406 kwargs = {}
406 kwargs = {}
407 if defaultformat is not None:
407 if defaultformat is not None:
408 kwargs['defaultformat'] = defaultformat
408 kwargs['defaultformat'] = defaultformat
409 store = obsolete.obsstore(self.sopener, **kwargs)
409 store = obsolete.obsstore(self.sopener, readonly=not obsolete._enabled,
410 **kwargs)
410 if store and not obsolete._enabled:
411 if store and not obsolete._enabled:
411 # message is rare enough to not be translated
412 # message is rare enough to not be translated
412 msg = 'obsolete feature not enabled but %i markers found!\n'
413 msg = 'obsolete feature not enabled but %i markers found!\n'
@@ -450,7 +450,7 b' class obsstore(object):'
450 # parents: (tuple of nodeid) or None, parents of precursors
450 # parents: (tuple of nodeid) or None, parents of precursors
451 # None is used when no data has been recorded
451 # None is used when no data has been recorded
452
452
453 def __init__(self, sopener, defaultformat=_fm1version):
453 def __init__(self, sopener, defaultformat=_fm1version, readonly=False):
454 # caches for various obsolescence related cache
454 # caches for various obsolescence related cache
455 self.caches = {}
455 self.caches = {}
456 self._all = []
456 self._all = []
@@ -460,6 +460,7 b' class obsstore(object):'
460 self.sopener = sopener
460 self.sopener = sopener
461 data = sopener.tryread('obsstore')
461 data = sopener.tryread('obsstore')
462 self._version = defaultformat
462 self._version = defaultformat
463 self._readonly = readonly
463 if data:
464 if data:
464 self._version, markers = _readmarkers(data)
465 self._version, markers = _readmarkers(data)
465 self._load(markers)
466 self._load(markers)
@@ -513,8 +514,9 b' class obsstore(object):'
513
514
514 Take care of filtering duplicate.
515 Take care of filtering duplicate.
515 Return the number of new marker."""
516 Return the number of new marker."""
516 if not _enabled:
517 if self._readonly:
517 raise util.Abort('obsolete feature is not enabled on this repo')
518 raise util.Abort('creating obsolete markers is not enabled on this '
519 'repo')
518 known = set(self._all)
520 known = set(self._all)
519 new = []
521 new = []
520 for m in markers:
522 for m in markers:
@@ -32,7 +32,7 b''
32 Checking that the feature is properly disabled
32 Checking that the feature is properly disabled
33
33
34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
34 $ hg debugobsolete -d '0 0' `getid kill_me` -u babar
35 abort: obsolete feature is not enabled on this repo
35 abort: creating obsolete markers is not enabled on this repo
36 [255]
36 [255]
37
37
38 Enabling it
38 Enabling it
General Comments 0
You need to be logged in to leave comments. Login now