Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 3712:1bd70d40ec57
context: None is not a valid filenode (revert from 23ede9e7ad4d)
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Mon, 27 Nov 2006 20:55:50 +0100 |
parents | eb0b4a2d70a9 |
children | 6cb3aca69cdc |
comparison
equal
deleted
inserted
replaced
3711:9ccc6be9ae4d | 3712:1bd70d40ec57 |
---|---|
149 elif name == '_filenode': | 149 elif name == '_filenode': |
150 try: | 150 try: |
151 if '_fileid' in self.__dict__: | 151 if '_fileid' in self.__dict__: |
152 self._filenode = self._filelog.lookup(self._fileid) | 152 self._filenode = self._filelog.lookup(self._fileid) |
153 else: | 153 else: |
154 try: | 154 self._filenode = self._changectx.filenode(self._path) |
155 self._filenode = self._changectx.filenode(self._path) | |
156 except: | |
157 self._filenode = self._filerev = None | |
158 except revlog.RevlogError, inst: | 155 except revlog.RevlogError, inst: |
159 raise repo.LookupError(str(inst)) | 156 raise repo.LookupError(str(inst)) |
160 return self._filenode | 157 return self._filenode |
161 elif name == '_filerev': | 158 elif name == '_filerev': |
162 self._filerev = self._filelog.rev(self._filenode) | 159 self._filerev = self._filelog.rev(self._filenode) |
163 return self._filerev | 160 return self._filerev |
164 else: | 161 else: |
165 raise AttributeError, name | 162 raise AttributeError, name |
166 | 163 |
167 def __nonzero__(self): | 164 def __nonzero__(self): |
168 return self._filenode != None | 165 try: |
166 n = self._filenode | |
167 return True | |
168 except repo.LookupError: | |
169 # file is missing | |
170 return False | |
169 | 171 |
170 def __str__(self): | 172 def __str__(self): |
171 return "%s@%s" % (self.path(), short(self.node())) | 173 return "%s@%s" % (self.path(), short(self.node())) |
172 | 174 |
173 def __repr__(self): | 175 def __repr__(self): |