Mercurial > public > mercurial-scm > hg
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] |