Mercurial > hg-stable
changeset 32749:c8177792fef6
obsolete: move obsstore creation logic from localrepo
This code has more to do with obsolete.py than localrepo.py. Let's
move it there.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 08 Jun 2017 21:54:30 -0700 |
parents | 3e8eb6d84a5c |
children | b8ff7d0ff361 |
files | mercurial/localrepo.py mercurial/obsolete.py |
diffstat | 2 files changed, 17 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Thu Jun 08 22:18:17 2017 -0700 +++ b/mercurial/localrepo.py Thu Jun 08 21:54:30 2017 -0700 @@ -524,21 +524,7 @@ @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):
--- a/mercurial/obsolete.py Thu Jun 08 22:18:17 2017 -0700 +++ b/mercurial/obsolete.py Thu Jun 08 21:54:30 2017 -0700 @@ -753,6 +753,22 @@ 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])