diff mercurial/obsolete.py @ 20028:28445179df90 stable

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.
author Pierre-Yves David <pierre-yves.david@ens-lyon.org>
date Sat, 16 Nov 2013 20:34:58 -0500
parents d51c4d85ec23
children 5931489b65e0
line wrap: on
line diff
--- 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: