revlog: zlib.error sent to the user (issue3424)
Give the user the zlib error message instead of a backtrace when decompression
fails.
--- a/mercurial/revlog.py Sun Jun 03 19:35:45 2012 +0200
+++ b/mercurial/revlog.py Mon Jun 04 14:46:42 2012 -0700
@@ -112,7 +112,10 @@
if t == '\0':
return bin
if t == 'x':
- return _decompress(bin)
+ try:
+ return _decompress(bin)
+ except zlib.error, e:
+ raise RevlogError(_("revlog decompress error: %s") % str(e))
if t == 'u':
return bin[1:]
raise RevlogError(_("unknown compression type %r") % t)