# HG changeset patch # User Pierre-Yves David # Date 1384652098 18000 # Node ID 28445179df90b3cf849d97aed03f15c5661e26f3 # Parent cb466830826a5fb0eecd4428922c2618d6a1b8af 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. diff -r cb466830826a -r 28445179df90 mercurial/obsolete.py --- 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: