Fixed libbe.rcs.RCS.installed to handle missing backend binary.
authorwking <wking@mjolnir>
Thu, 25 Jun 2009 21:10:57 +0000 (17:10 -0400)
committerwking <wking@mjolnir>
Thu, 25 Jun 2009 21:10:57 +0000 (17:10 -0400)
This makes all the failed tests understandable, since they all crash
with strings like:
  AssertionError: Arch RCS not found
Which makes more sense than spitting out the raw CommandError.

It also means that installed_rcs() actually works now ;).

libbe/rcs.py

index c0b92e7d033c9b4ea81c7480e7f76fb49bc90d31..3428ce0fa9d7750dbafa0e4e2c3616bed26ad497 100644 (file)
@@ -40,8 +40,7 @@ def _get_matching_rcs(matchfn):
         rcs = module.new()
         if matchfn(rcs) == True:
             return rcs
-        else:
-            del(rcs)
+        del(rcs)
     return RCS()
     
 def rcs_by_name(rcs_name):
@@ -205,7 +204,8 @@ class RCS(object):
         except OSError, e:
             if e.errno == errno.ENOENT:
                 return False
-            raise e
+        except CommandError:
+            return False
     def detect(self, path="."):
         """
         Detect whether a directory is revision controlled with this RCS.