##// END OF EJS Templates
Add revlog.LookupError exception, and use it instead of RevlogError....
Brendan Cully -
r3930:01d98d68 default
parent child Browse files
Show More
@@ -49,7 +49,7 b' class bundlerevlog(revlog.revlog):'
49 continue
49 continue
50 for p in (p1, p2):
50 for p in (p1, p2):
51 if not p in self.nodemap:
51 if not p in self.nodemap:
52 raise revlog.RevlogError(_("unknown parent %s") % short(p1))
52 raise revlog.LookupError(_("unknown parent %s") % short(p1))
53 if linkmapper is None:
53 if linkmapper is None:
54 link = n
54 link = n
55 else:
55 else:
@@ -2450,9 +2450,10 b' def tags(ui, repo):'
2450 hexfunc = ui.debugflag and hex or short
2450 hexfunc = ui.debugflag and hex or short
2451 for t, n in l:
2451 for t, n in l:
2452 try:
2452 try:
2453 hn = hexfunc(n)
2453 r = "%5d:%s" % (repo.changelog.rev(n), hexfunc(n))
2454 r = "%5d:%s" % (repo.changelog.rev(n), hexfunc(n))
2454 except KeyError:
2455 except revlog.LookupError:
2455 r = " ?:?"
2456 r = " ?:%s" % hn
2456 if ui.quiet:
2457 if ui.quiet:
2457 ui.write("%s\n" % t)
2458 ui.write("%s\n" % t)
2458 else:
2459 else:
@@ -83,13 +83,13 b' class changectx(object):'
83 try:
83 try:
84 return self._manifest[path]
84 return self._manifest[path]
85 except KeyError:
85 except KeyError:
86 raise repo.LookupError(_("'%s' not found in manifest") % path)
86 raise revlog.LookupError(_("'%s' not found in manifest") % path)
87 if '_manifestdelta' in self.__dict__ or path in self.files():
87 if '_manifestdelta' in self.__dict__ or path in self.files():
88 if path in self._manifestdelta:
88 if path in self._manifestdelta:
89 return self._manifestdelta[path]
89 return self._manifestdelta[path]
90 node, flag = self._repo.manifest.find(self._changeset[0], path)
90 node, flag = self._repo.manifest.find(self._changeset[0], path)
91 if not node:
91 if not node:
92 raise repo.LookupError(_("'%s' not found in manifest") % path)
92 raise revlog.LookupError(_("'%s' not found in manifest") % path)
93
93
94 return node
94 return node
95
95
@@ -149,13 +149,10 b' class filectx(object):'
149 self._changeid = self._filelog.linkrev(self._filenode)
149 self._changeid = self._filelog.linkrev(self._filenode)
150 return self._changeid
150 return self._changeid
151 elif name == '_filenode':
151 elif name == '_filenode':
152 try:
152 if '_fileid' in self.__dict__:
153 if '_fileid' in self.__dict__:
153 self._filenode = self._filelog.lookup(self._fileid)
154 self._filenode = self._filelog.lookup(self._fileid)
154 else:
155 else:
155 self._filenode = self._changectx.filenode(self._path)
156 self._filenode = self._changectx.filenode(self._path)
157 except revlog.RevlogError, inst:
158 raise repo.LookupError(str(inst))
159 return self._filenode
156 return self._filenode
160 elif name == '_filerev':
157 elif name == '_filerev':
161 self._filerev = self._filelog.rev(self._filenode)
158 self._filerev = self._filelog.rev(self._filenode)
@@ -167,7 +164,7 b' class filectx(object):'
167 try:
164 try:
168 n = self._filenode
165 n = self._filenode
169 return True
166 return True
170 except repo.LookupError:
167 except revlog.LookupError:
171 # file is missing
168 # file is missing
172 return False
169 return False
173
170
@@ -317,7 +317,7 b' class localrepository(repo.repository):'
317 rev = c.rev()
317 rev = c.rev()
318 try:
318 try:
319 fnode = c.filenode('.hgtags')
319 fnode = c.filenode('.hgtags')
320 except repo.LookupError:
320 except revlog.LookupError:
321 continue
321 continue
322 ret.append((rev, node, fnode))
322 ret.append((rev, node, fnode))
323 if fnode in last:
323 if fnode in last:
@@ -9,9 +9,6 b''
9 class RepoError(Exception):
9 class RepoError(Exception):
10 pass
10 pass
11
11
12 class LookupError(RepoError):
13 pass
14
15 class repository(object):
12 class repository(object):
16 def capable(self, name):
13 def capable(self, name):
17 '''tell whether repo supports named capability.
14 '''tell whether repo supports named capability.
@@ -281,6 +281,7 b' class lazymap(object):'
281 del self.p.map[key]
281 del self.p.map[key]
282
282
283 class RevlogError(Exception): pass
283 class RevlogError(Exception): pass
284 class LookupError(RevlogError): pass
284
285
285 class revlog(object):
286 class revlog(object):
286 """
287 """
@@ -471,7 +472,7 b' class revlog(object):'
471 try:
472 try:
472 return self.nodemap[node]
473 return self.nodemap[node]
473 except KeyError:
474 except KeyError:
474 raise RevlogError(_('%s: no node %s') % (self.indexfile, hex(node)))
475 raise LookupError(_('%s: no node %s') % (self.indexfile, hex(node)))
475 def linkrev(self, node):
476 def linkrev(self, node):
476 return (node == nullid) and nullrev or self.index[self.rev(node)][-4]
477 return (node == nullid) and nullrev or self.index[self.rev(node)][-4]
477 def parents(self, node):
478 def parents(self, node):
@@ -766,7 +767,7 b' class revlog(object):'
766 node = id
767 node = id
767 r = self.rev(node) # quick search the index
768 r = self.rev(node) # quick search the index
768 return node
769 return node
769 except RevlogError:
770 except LookupError:
770 pass # may be partial hex id
771 pass # may be partial hex id
771 try:
772 try:
772 # str(rev)
773 # str(rev)
@@ -795,7 +796,7 b' class revlog(object):'
795 for n in self.nodemap:
796 for n in self.nodemap:
796 if n.startswith(bin_id) and hex(n).startswith(id):
797 if n.startswith(bin_id) and hex(n).startswith(id):
797 if node is not None:
798 if node is not None:
798 raise RevlogError(_("Ambiguous identifier"))
799 raise LookupError(_("Ambiguous identifier"))
799 node = n
800 node = n
800 if node is not None:
801 if node is not None:
801 return node
802 return node
@@ -815,7 +816,7 b' class revlog(object):'
815 if n:
816 if n:
816 return n
817 return n
817
818
818 raise RevlogError(_("No match found"))
819 raise LookupError(_("No match found"))
819
820
820 def cmp(self, node, text):
821 def cmp(self, node, text):
821 """compare text with a given file revision"""
822 """compare text with a given file revision"""
@@ -1155,13 +1156,13 b' class revlog(object):'
1155
1156
1156 for p in (p1, p2):
1157 for p in (p1, p2):
1157 if not p in self.nodemap:
1158 if not p in self.nodemap:
1158 raise RevlogError(_("unknown parent %s") % short(p))
1159 raise LookupError(_("unknown parent %s") % short(p))
1159
1160
1160 if not chain:
1161 if not chain:
1161 # retrieve the parent revision of the delta chain
1162 # retrieve the parent revision of the delta chain
1162 chain = p1
1163 chain = p1
1163 if not chain in self.nodemap:
1164 if not chain in self.nodemap:
1164 raise RevlogError(_("unknown base %s") % short(chain[:4]))
1165 raise LookupError(_("unknown base %s") % short(chain[:4]))
1165
1166
1166 # full versions are inserted when the needed deltas become
1167 # full versions are inserted when the needed deltas become
1167 # comparable to the uncompressed text or when the previous
1168 # comparable to the uncompressed text or when the previous
General Comments 0
You need to be logged in to leave comments. Login now