Mercurial > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
24294:3d485727e45e | 24295:2b7ab29627fd |
---|---|
113 return key in self._lm | 113 return key in self._lm |
114 | 114 |
115 def __delitem__(self, key): | 115 def __delitem__(self, key): |
116 del self._lm[key] | 116 del self._lm[key] |
117 | 117 |
118 def __iter__(self): | |
119 return self._lm.iterkeys() | |
120 | |
121 def iterkeys(self): | |
122 return self._lm.iterkeys() | |
123 | |
118 def keys(self): | 124 def keys(self): |
119 return [x[0] for x in self._lm] | 125 return list(self.iterkeys()) |
120 | |
121 def iterkeys(self): | |
122 return iter(self.keys()) | |
123 | 126 |
124 def intersectfiles(self, files): | 127 def intersectfiles(self, files): |
125 '''make a new lazymanifest with the intersection of self with files | 128 '''make a new lazymanifest with the intersection of self with files |
126 | 129 |
127 The algorithm assumes that files is much smaller than self.''' | 130 The algorithm assumes that files is much smaller than self.''' |
181 def flags(self, key, default=''): | 184 def flags(self, key, default=''): |
182 try: | 185 try: |
183 return self._lm[key][1] | 186 return self._lm[key][1] |
184 except KeyError: | 187 except KeyError: |
185 return default | 188 return default |
186 | |
187 def __iter__(self): | |
188 return (x[0] for x in self._lm) | |
189 | 189 |
190 def copy(self): | 190 def copy(self): |
191 c = manifestdict('') | 191 c = manifestdict('') |
192 c._lm = self._lm.copy() | 192 c._lm = self._lm.copy() |
193 return c | 193 return c |