# HG changeset patch # User Pierre-Yves David # Date 2014-04-30 02:06:15 # Node ID 2434c68d82a8a258087b8a75c3083453d691dc51 # Parent 5c00c5298f9807ae4f329dc25d517c4091bc43f3 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. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2851,5 +2851,14 @@ class spanset(_orderedsetmixin): 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()