Mercurial > hg
changeset 20730:180d47e1fb68
revset: added __and__ method to _addset
This method is intended to duck-type baseset, so we will still have _addset as a
private class but we will be able to return it without wrapping it into an
orderedlazyset or a lazyset.
author | Lucas Moscovicz <lmoscovicz@fb.com> |
---|---|
date | Fri, 14 Mar 2014 10:22:29 -0700 |
parents | caa69cb223b0 |
children | 88aae5382519 |
files | mercurial/revset.py |
diffstat | 1 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revset.py Fri Mar 14 10:21:56 2014 -0700 +++ b/mercurial/revset.py Fri Mar 14 10:22:29 2014 -0700 @@ -2413,6 +2413,12 @@ if self._ascending: self.reverse() + def __and__(self, other): + filterfunc = other.__contains__ + if self._ascending is not None: + return orderedlazyset(self, filterfunc, ascending=self._ascending) + return lazyset(self, filterfunc) + def _iterator(self): """Iterate over both collections without repeating elements