Mercurial > public > mercurial-scm > hg-stable
diff mercurial/dirstate.py @ 4906:30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
dirstate.state(f) == '?' -> f not in dirstate
dirstate.state(f) -> dirstate[f]
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 21 Jul 2007 16:02:09 -0500 |
parents | fc61495ea9cf |
children | 6a7659a0c07c |
line wrap: on
line diff
--- a/mercurial/dirstate.py Sat Jul 21 16:02:09 2007 -0500 +++ b/mercurial/dirstate.py Sat Jul 21 16:02:09 2007 -0500 @@ -88,11 +88,14 @@ return path.replace(os.sep, '/') return path - def __del__(self): - self.write() - def __getitem__(self, key): - return self._map[key] + ''' current states: + n normal + m needs merging + r marked for removal + a marked for addition + ? not tracked''' + return self._map.get(key, ("?",))[0] def __contains__(self, key): return key in self._map @@ -117,14 +120,6 @@ self._branch = branch self._opener("branch", "w").write(branch + '\n') - def state(self, key): - ''' current states: - n normal - m needs merging - r marked for removal - a marked for addition''' - return self._map.get(key, ("?",))[0] - def _read(self): self._map = {} self._copymap = {} @@ -460,7 +455,7 @@ for src, fn, st in self.statwalk(files, match, ignored=list_ignored): try: - type_, mode, size, time = self[fn] + type_, mode, size, time = self._map[fn] except KeyError: if list_ignored and self._ignore(fn): ignored.append(fn)