# HG changeset patch # User Bart Trojanowski # Date 2005-08-27 02:08:25 # Node ID 7b35a980b982da663a7bde296d994cce30e341d3 # Parent 05dc7aba22ebfc3d9b7dbc4002396f06203f9444 [PATCH] raise exceptions with Exception subclasses Fixed the patch. Using Exception subclasses. (tweaked by mpm) diff --git a/mercurial/hgweb.py b/mercurial/hgweb.py --- a/mercurial/hgweb.py +++ b/mercurial/hgweb.py @@ -86,7 +86,7 @@ class templater: if m: self.map[m.group(1)] = os.path.join(self.base, m.group(2)) else: - raise "unknown map entry '%s'" % l + raise LookupError("unknown map entry '%s'" % l) def __call__(self, t, **map): m = self.defaults.copy() diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -32,7 +32,7 @@ def decompress(bin): 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 @@ class lazymap: 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 @@ class revlog: 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 @@ class revlog: # 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 @@ class revlog: 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) diff --git a/mercurial/transaction.py b/mercurial/transaction.py --- a/mercurial/transaction.py +++ b/mercurial/transaction.py @@ -20,7 +20,7 @@ class transaction: # abort here if the journal already exists if os.path.exists(journal): - raise "journal already exists - run hg recover" + raise AssertionError("journal already exists - run hg recover") self.report = report self.opener = opener