diff mercurial/revlog.py @ 1073:7b35a980b982

[PATCH] raise exceptions with Exception subclasses Fixed the patch. Using Exception subclasses. (tweaked by mpm)
author Bart Trojanowski <bart@jukie.net>
date Fri, 26 Aug 2005 19:08:25 -0700
parents 6d5a62a549fa
children 55bf5cfde69e
line wrap: on
line diff
--- a/mercurial/revlog.py	Fri Aug 26 16:49:23 2005 -0700
+++ b/mercurial/revlog.py	Fri Aug 26 19:08:25 2005 -0700
@@ -32,7 +32,7 @@
     if t == '\0': return bin
     if t == 'x': return zlib.decompress(bin)
     if t == 'u': return bin[1:]
-    raise "unknown compression type %s" % t
+    raise RevlogError("unknown compression type %s" % t)
 
 def hash(text, p1, p2):
     l = [p1, p2]
@@ -120,6 +120,8 @@
     def __setitem__(self, key, val):
         self.p.map[key] = val
 
+class RevlogError(Exception): pass
+
 class revlog:
     def __init__(self, opener, indexfile, datafile):
         self.indexfile = indexfile
@@ -505,7 +507,7 @@
             if node in self.nodemap:
                 # this can happen if two branches make the same change
                 if unique:
-                    raise "already have %s" % hex(node[:4])
+                    raise RevlogError("already have %s" % hex(node[:4]))
                 chain = node
                 continue
             delta = chunk[80:]
@@ -514,7 +516,7 @@
                 # retrieve the parent revision of the delta chain
                 chain = p1
                 if not chain in self.nodemap:
-                    raise "unknown base %s" % short(chain[:4])
+                    raise RevlogError("unknown base %s" % short(chain[:4]))
 
             # full versions are inserted when the needed deltas become
             # comparable to the uncompressed text or when the previous
@@ -533,7 +535,7 @@
                 text = self.patches(text, [delta])
                 chk = self.addrevision(text, transaction, link, p1, p2)
                 if chk != node:
-                    raise "consistency error adding group"
+                    raise RevlogError("consistency error adding group")
                 measure = len(text)
             else:
                 e = (end, len(cdelta), self.base(t), link, p1, p2, node)