obsolete: move obsstore creation logic from localrepo

This code has more to do with obsolete.py than localrepo.py. Let's
move it there.
This commit is contained in:
Gregory Szorc 2017-06-08 21:54:30 -07:00
parent a9c40085c0
commit 943d55015e
2 changed files with 17 additions and 15 deletions

View File

@ -524,21 +524,7 @@ class localrepository(object):
@storecache('obsstore')
def obsstore(self):
# read default format for new obsstore.
# developer config: format.obsstore-version
defaultformat = self.ui.configint('format', 'obsstore-version', None)
# rely on obsstore class default when possible.
kwargs = {}
if defaultformat is not None:
kwargs['defaultformat'] = defaultformat
readonly = not obsolete.isenabled(self, obsolete.createmarkersopt)
store = obsolete.obsstore(self.svfs, readonly=readonly,
**kwargs)
if store and readonly:
self.ui.warn(
_('obsolete feature not enabled but %i markers found!\n')
% len(list(store)))
return store
return obsolete.makestore(self.ui, self)
@storecache('00changelog.i')
def changelog(self):

View File

@ -753,6 +753,22 @@ class obsstore(object):
seennodes |= pendingnodes
return seenmarkers
def makestore(ui, repo):
"""Create an obsstore instance from a repo."""
# read default format for new obsstore.
# developer config: format.obsstore-version
defaultformat = ui.configint('format', 'obsstore-version', None)
# rely on obsstore class default when possible.
kwargs = {}
if defaultformat is not None:
kwargs['defaultformat'] = defaultformat
readonly = not isenabled(repo, createmarkersopt)
store = obsstore(repo.svfs, readonly=readonly, **kwargs)
if store and readonly:
ui.warn(_('obsolete feature not enabled but %i markers found!\n')
% len(list(store)))
return store
def _filterprunes(markers):
"""return a set with no prune markers"""
return set(m for m in markers if m[1])