Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/context.py @ 3336:e44eadc92ec4
context: check self.__dict__ instead of using hasattr
hasattr implicitly calls getattr, instantiating the field it is
checking for.
author | Brendan Cully <brendan@kublai.com> |
---|---|
date | Wed, 11 Oct 2006 13:34:12 -0700 |
parents | 6c68bc1e7873 |
children | b02e60097bbe |
comparison
equal
deleted
inserted
replaced
3335:9061613c1593 | 3336:e44eadc92ec4 |
---|---|
70 """return contexts for each child changeset""" | 70 """return contexts for each child changeset""" |
71 c = self._repo.changelog.children(self._node) | 71 c = self._repo.changelog.children(self._node) |
72 return [ changectx(self._repo, x) for x in c ] | 72 return [ changectx(self._repo, x) for x in c ] |
73 | 73 |
74 def filenode(self, path): | 74 def filenode(self, path): |
75 if hasattr(self, "_manifest"): | 75 if '_manifest' in self.__dict__: |
76 try: | 76 try: |
77 return self._manifest[path] | 77 return self._manifest[path] |
78 except KeyError: | 78 except KeyError: |
79 raise repo.LookupError(_("'%s' not found in manifest") % path) | 79 raise repo.LookupError(_("'%s' not found in manifest") % path) |
80 node, flag = self._repo.manifest.find(self._changeset[0], path) | 80 node, flag = self._repo.manifest.find(self._changeset[0], path) |
138 elif name == '_changeid': | 138 elif name == '_changeid': |
139 self._changeid = self._filelog.linkrev(self._filenode) | 139 self._changeid = self._filelog.linkrev(self._filenode) |
140 return self._changeid | 140 return self._changeid |
141 elif name == '_filenode': | 141 elif name == '_filenode': |
142 try: | 142 try: |
143 if hasattr(self, "_fileid"): | 143 if '_fileid' in self.__dict__: |
144 self._filenode = self._filelog.lookup(self._fileid) | 144 self._filenode = self._filelog.lookup(self._fileid) |
145 else: | 145 else: |
146 self._filenode = self._changectx.filenode(self._path) | 146 self._filenode = self._changectx.filenode(self._path) |
147 except revlog.RevlogError, inst: | 147 except revlog.RevlogError, inst: |
148 raise repo.LookupError(str(inst)) | 148 raise repo.LookupError(str(inst)) |
174 def filerev(self): return self._filerev | 174 def filerev(self): return self._filerev |
175 def filenode(self): return self._filenode | 175 def filenode(self): return self._filenode |
176 def filelog(self): return self._filelog | 176 def filelog(self): return self._filelog |
177 | 177 |
178 def rev(self): | 178 def rev(self): |
179 if hasattr(self, "_changectx"): | 179 if '_changectx' in self.__dict__: |
180 return self._changectx.rev() | 180 return self._changectx.rev() |
181 return self._filelog.linkrev(self._filenode) | 181 return self._filelog.linkrev(self._filenode) |
182 | 182 |
183 def node(self): return self._changectx.node() | 183 def node(self): return self._changectx.node() |
184 def user(self): return self._changectx.user() | 184 def user(self): return self._changectx.user() |
437 opening a new filelog''' | 437 opening a new filelog''' |
438 return filectx(self._repo, self._repopath, fileid=fileid, | 438 return filectx(self._repo, self._repopath, fileid=fileid, |
439 filelog=self._filelog) | 439 filelog=self._filelog) |
440 | 440 |
441 def rev(self): | 441 def rev(self): |
442 if hasattr(self, "_changectx"): | 442 if '_changectx' in self.__dict__: |
443 return self._changectx.rev() | 443 return self._changectx.rev() |
444 return self._filelog.linkrev(self._filenode) | 444 return self._filelog.linkrev(self._filenode) |
445 | 445 |
446 def data(self): return self._repo.wread(self._path) | 446 def data(self): return self._repo.wread(self._path) |
447 def renamed(self): | 447 def renamed(self): |