# HG changeset patch # User Lucas Moscovicz # Date 2014-02-06 22:29:37 # Node ID f5b560c60bcdda25d0600cee1e9c3aa7ba139c5a # Parent 2e33cda452f6c948826dda88fe5c926a56d976a3 revset: added operations to duck type baseset Added more operations which are not lazy but only used so far to duck type baseset. Their implementations will be changed in future patches. diff --git a/mercurial/revset.py b/mercurial/revset.py --- a/mercurial/revset.py +++ b/mercurial/revset.py @@ -2100,5 +2100,26 @@ class lazyset(object): l = baseset([r for r in self]) return l + baseset(x) + def __len__(self): + # Basic implementation to be changed in future patches. + l = baseset([r for r in self]) + return len(l) + + 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. + self._subset = baseset(self._subset) + self._subset.sort(reverse=reverse) + + def reverse(self): + self._subset.reverse() + + def set(self): + return set([r for r in self]) + # tell hggettext to extract docstrings from these functions: i18nfunctions = symbols.values()