Mercurial > hg
changeset 22508:2434c68d82a8
revert: add a fullreposet class
Every revset evaluation starts from `subset = spanset(repo)` and a lot of
revset predicates build a `spansetrepo` for their internal needs.
`spanset` is a generic class that can handle any situation. As a result a lot
of operation between spanset result in an `orderedlazyset`, a safe object but
suboptimal in may situation.
So we introduce a `fullreposet` class where some of the operation will be
overwritten to produce more interesting results.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Tue, 29 Apr 2014 19:06:15 -0700 |
parents | 5c00c5298f98 |
children | fbae659543cf |
files | mercurial/revset.py |
diffstat | 1 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Tue Sep 23 12:21:38 2014 -0700 +++ b/mercurial/revset.py Tue Apr 29 19:06:15 2014 -0700 @@ -2851,5 +2851,14 @@ def filter(self, l): return orderedlazyset(self, l, ascending=self.isascending()) +class fullreposet(spanset): + """a set containing all revisions in the repo + + This class exists to host special optimisation. + """ + + def __init__(self, repo): + super(fullreposet, self).__init__(repo) + # tell hggettext to extract docstrings from these functions: i18nfunctions = symbols.values()