# HG changeset patch # User Lucas Moscovicz # Date 2014-02-06 23:56:25 # Node ID 0f1ef9e9e904c18f1ac96aef3a0e0d3aa5f1190c # Parent ed57358398af44184835e133e9530e6952f51be0 revset: added operations to spanset to duck type baseset Added more operations which are not lazy but only used so far to duck type baseset. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2159,5 +2159,27 @@ class spanset(object): l = baseset(self) return l + baseset(x) + def __len__(self): + return abs(self._end - self._start) + + def __getitem__(self, x): + # Basic implementation to be changed in future patches. + l = baseset([r for r in self]) + return l[x] + + def sort(self, reverse=False): + # Basic implementation to be changed in future patches. + if reverse: + self.reverse() + + def reverse(self): + if self._start <= self._end: + self._start, self._end = self._end - 1, self._start - 1 + else: + self._start, self._end = self._end + 1, self._start + 1 + + def set(self): + return self + # tell hggettext to extract docstrings from these functions: i18nfunctions = symbols.values()