[PATCH 3 of 3] revset: added operations to spanset to duck type baseset
Lucas Moscovicz
lmoscovicz at fb.com
Wed Feb 12 15:54:51 CST 2014
# HG changeset patch
# User Lucas Moscovicz <lmoscovicz at fb.com>
# Date 1391730985 28800
# Thu Feb 06 15:56:25 2014 -0800
# Node ID 959d8a69a22ef664626abd997143f58babbdbedf
# Parent fd9f5172db9aef525229b9acebb1e892c280ed6e
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
@@ -2158,5 +2158,27 @@
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()
More information about the Mercurial-devel
mailing list