obsolete: stop doing membership test on list
According to the Surgeon General, computer should not use list for membership
testing because of the risk of being slow.
--- a/mercurial/obsolete.py Sat Nov 16 12:34:05 2013 -0500
+++ b/mercurial/obsolete.py Sat Nov 16 20:34:58 2013 -0500
@@ -267,7 +267,8 @@
Return the number of new marker."""
if not _enabled:
raise util.Abort('obsolete feature is not enabled on this repo')
- new = [m for m in markers if m not in self._all]
+ known = set(self._all)
+ new = [m for m in markers if m not in known]
if new:
f = self.sopener('obsstore', 'ab')
try: