comparison mercurial/context.py @ 3454:23ede9e7ad4d

filecontext: report False for missing files
author Matt Mackall <mpm@selenic.com>
date Wed, 18 Oct 2006 14:06:48 -0500
parents 357b5589dc62
children 3b4e00cba57a
comparison
equal deleted inserted replaced
3453:dba3cadef789 3454:23ede9e7ad4d
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 self._filenode = self._changectx.filenode(self._path) 154 try:
155 self._filenode = self._changectx.filenode(self._path)
156 except:
157 self._filenode = self._filerev = None
155 except revlog.RevlogError, inst: 158 except revlog.RevlogError, inst:
156 raise repo.LookupError(str(inst)) 159 raise repo.LookupError(str(inst))
157 return self._filenode 160 return self._filenode
158 elif name == '_filerev': 161 elif name == '_filerev':
159 self._filerev = self._filelog.rev(self._filenode) 162 self._filerev = self._filelog.rev(self._filenode)
160 return self._filerev 163 return self._filerev
161 else: 164 else:
162 raise AttributeError, name 165 raise AttributeError, name
163 166
164 def __nonzero__(self): 167 def __nonzero__(self):
165 return self._filerev != nullid 168 return self._filenode != None
166 169
167 def __str__(self): 170 def __str__(self):
168 return "%s@%s" % (self.path(), short(self.node())) 171 return "%s@%s" % (self.path(), short(self.node()))
169 172
170 def __repr__(self): 173 def __repr__(self):