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, |
|
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 |
|
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 |
|
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