mercurial/context.py
changeset 3495 23ede9e7ad4d
parent 3436 357b5589dc62
child 3578 3b4e00cba57a
equal deleted inserted replaced
3494:dba3cadef789 3495: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):