Mercurial > public > mercurial-scm > hg
comparison mercurial/context.py @ 7633:08cabecfa8a8
errors: move revlog errors
- create error.py for exception classes to reduce demandloading
- move revlog exceptions to it
- change users to import error and drop revlog import if possible
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sun, 11 Jan 2009 22:48:28 -0600 |
parents | a8376f2aa3b1 |
children | d812029cda85 26316dda374f |
comparison
equal
deleted
inserted
replaced
7632:9626819b2e3d | 7633:08cabecfa8a8 |
---|---|
5 # This software may be used and distributed according to the terms | 5 # This software may be used and distributed according to the terms |
6 # of the GNU General Public License, incorporated herein by reference. | 6 # of the GNU General Public License, incorporated herein by reference. |
7 | 7 |
8 from node import nullid, nullrev, short, hex | 8 from node import nullid, nullrev, short, hex |
9 from i18n import _ | 9 from i18n import _ |
10 import ancestor, bdiff, revlog, util, os, errno | 10 import ancestor, bdiff, error, util, os, errno |
11 | 11 |
12 class propertycache(object): | 12 class propertycache(object): |
13 def __init__(self, func): | 13 def __init__(self, func): |
14 self.func = func | 14 self.func = func |
15 self.name = func.__name__ | 15 self.name = func.__name__ |
123 def _fileinfo(self, path): | 123 def _fileinfo(self, path): |
124 if '_manifest' in self.__dict__: | 124 if '_manifest' in self.__dict__: |
125 try: | 125 try: |
126 return self._manifest[path], self._manifest.flags(path) | 126 return self._manifest[path], self._manifest.flags(path) |
127 except KeyError: | 127 except KeyError: |
128 raise revlog.LookupError(self._node, path, | 128 raise error.LookupError(self._node, path, |
129 _('not found in manifest')) | 129 _('not found in manifest')) |
130 if '_manifestdelta' in self.__dict__ or path in self.files(): | 130 if '_manifestdelta' in self.__dict__ or path in self.files(): |
131 if path in self._manifestdelta: | 131 if path in self._manifestdelta: |
132 return self._manifestdelta[path], self._manifestdelta.flags(path) | 132 return self._manifestdelta[path], self._manifestdelta.flags(path) |
133 node, flag = self._repo.manifest.find(self._changeset[0], path) | 133 node, flag = self._repo.manifest.find(self._changeset[0], path) |
134 if not node: | 134 if not node: |
135 raise revlog.LookupError(self._node, path, | 135 raise error.LookupError(self._node, path, |
136 _('not found in manifest')) | 136 _('not found in manifest')) |
137 | 137 |
138 return node, flag | 138 return node, flag |
139 | 139 |
140 def filenode(self, path): | 140 def filenode(self, path): |
141 return self._fileinfo(path)[0] | 141 return self._fileinfo(path)[0] |
142 | 142 |
143 def flags(self, path): | 143 def flags(self, path): |
144 try: | 144 try: |
145 return self._fileinfo(path)[1] | 145 return self._fileinfo(path)[1] |
146 except revlog.LookupError: | 146 except error.LookupError: |
147 return '' | 147 return '' |
148 | 148 |
149 def filectx(self, path, fileid=None, filelog=None): | 149 def filectx(self, path, fileid=None, filelog=None): |
150 """get a file context from this changeset""" | 150 """get a file context from this changeset""" |
151 if fileid is None: | 151 if fileid is None: |
233 | 233 |
234 def __nonzero__(self): | 234 def __nonzero__(self): |
235 try: | 235 try: |
236 n = self._filenode | 236 n = self._filenode |
237 return True | 237 return True |
238 except revlog.LookupError: | 238 except error.LookupError: |
239 # file is missing | 239 # file is missing |
240 return False | 240 return False |
241 | 241 |
242 def __str__(self): | 242 def __str__(self): |
243 return "%s@%s" % (self.path(), short(self.node())) | 243 return "%s@%s" % (self.path(), short(self.node())) |
314 fnode = self._filenode | 314 fnode = self._filenode |
315 for p in self._changectx.parents(): | 315 for p in self._changectx.parents(): |
316 try: | 316 try: |
317 if fnode == p.filenode(name): | 317 if fnode == p.filenode(name): |
318 return None | 318 return None |
319 except revlog.LookupError: | 319 except error.LookupError: |
320 pass | 320 pass |
321 return renamed | 321 return renamed |
322 | 322 |
323 def parents(self): | 323 def parents(self): |
324 p = self._path | 324 p = self._path |