diff mercurial/manifest.py @ 24295:2b7ab29627fd

lazymanifest: add iterkeys() method So we don't have to iteratate over (path, node, flags) tuples only to throw away the node and flags.
author Martin von Zweigbergk <martinvonz@google.com>
date Wed, 11 Mar 2015 13:46:15 -0700
parents b7add2ebef9e
children 0178f500d61e
line wrap: on
line diff
--- a/mercurial/manifest.py	Wed Mar 11 13:15:26 2015 -0700
+++ b/mercurial/manifest.py	Wed Mar 11 13:46:15 2015 -0700
@@ -115,11 +115,14 @@
     def __delitem__(self, key):
         del self._lm[key]
 
-    def keys(self):
-        return [x[0] for x in self._lm]
+    def __iter__(self):
+        return self._lm.iterkeys()
 
     def iterkeys(self):
-        return iter(self.keys())
+        return self._lm.iterkeys()
+
+    def keys(self):
+        return list(self.iterkeys())
 
     def intersectfiles(self, files):
         '''make a new lazymanifest with the intersection of self with files
@@ -184,9 +187,6 @@
         except KeyError:
             return default
 
-    def __iter__(self):
-        return (x[0] for x in self._lm)
-
     def copy(self):
         c = manifestdict('')
         c._lm = self._lm.copy()