[darcs-devel] [issue336] bug in match name

Zooko bugs at darcs.net
Wed Nov 8 12:31:59 PST 2006


New submission from Zooko <zooko at zooko.com>:

Consider the following two calls (cut-and-pasted from my terminal).

How can the presence of that final "l" make the pattern invalid?

darcs v1.0.8.

Regards,

Zooko

zooko at hanford:~/trees/trunk$ darcs diff -u --match "name \"dbutil: convert ValueError? from DB.l\""

darcs failed:  Couldn't match pattern "name "dbutil: convert ValueError? from DB.l""
zooko at hanford:~/trees/trunk$ darcs diff -u --match "name \"dbutil: convert ValueError? from DB.\""
Tue Nov  7 16:14:39 PST 2006  zooko at zooko.com
  * dbutil: convert ValueError from DB.__len__() into DBError
diff -rN -u old-trunk/trunk/amdlib/util/dbutil.py new-trunk/trunk/amdlib/util/dbutil.py
--- old-trunk/trunk/amdlib/util/dbutil.py       2006-11-08 12:30:29.000000000 -0800
+++ new-trunk/trunk/amdlib/util/dbutil.py       2006-11-08 12:30:30.000000000 -0800
@@ -86,7 +86,13 @@

     @retry
     def __len__(self):
-        return len(self.o)
+        try:
+            return len(self.o)
+        except ValueError, le:
+            # Corrupted db's can sometimes yield this error:
+            # "exceptions.ValueError: __len__() should return >= 0".  Here we
+            # convert those to DBError.
+            raise DBError(le)

     @retry
     def __getitem__(self, i):

----------
messages: 1186
nosy: EricKow, droundy, tommy, zooko
status: unread
title: bug in match name

____________________________________
Darcs issue tracker <bugs at darcs.net>
<http://bugs.darcs.net/issue336>
____________________________________




More information about the darcs-devel mailing list