comparison mercurial/context.py @ 6228:c0c4c7b1e8d3

revlog: report node and file when lookup fails
author Matt Mackall <mpm@selenic.com>
date Tue, 11 Mar 2008 17:42:29 -0500
parents e75aab656f46
children 90a4329a6b4a
comparison
equal deleted inserted replaced
6227:4c1aa6affe60 6228:c0c4c7b1e8d3
98 def _fileinfo(self, path): 98 def _fileinfo(self, path):
99 if '_manifest' in self.__dict__: 99 if '_manifest' in self.__dict__:
100 try: 100 try:
101 return self._manifest[path], self._manifest.flags(path) 101 return self._manifest[path], self._manifest.flags(path)
102 except KeyError: 102 except KeyError:
103 raise revlog.LookupError(path, _("'%s' not found in manifest") % path) 103 raise revlog.LookupError(self._node, path,
104 _('not found in manifest'))
104 if '_manifestdelta' in self.__dict__ or path in self.files(): 105 if '_manifestdelta' in self.__dict__ or path in self.files():
105 if path in self._manifestdelta: 106 if path in self._manifestdelta:
106 return self._manifestdelta[path], self._manifestdelta.flags(path) 107 return self._manifestdelta[path], self._manifestdelta.flags(path)
107 node, flag = self._repo.manifest.find(self._changeset[0], path) 108 node, flag = self._repo.manifest.find(self._changeset[0], path)
108 if not node: 109 if not node:
109 raise revlog.LookupError(path, _("'%s' not found in manifest") % path) 110 raise revlog.LookupError(self._node, path,
111 _('not found in manifest'))
110 112
111 return node, flag 113 return node, flag
112 114
113 def filenode(self, path): 115 def filenode(self, path):
114 return self._fileinfo(path)[0] 116 return self._fileinfo(path)[0]