changeset 5543:a4662d7b5d74

repository: share have_git () with subversion. Fixes using tools::subversion.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Fri, 21 Aug 2009 17:17:11 +0200
parents c7810c574826
children 469259ca434a
files gub/repository.py
diffstat 1 files changed, 18 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/gub/repository.py	Fri Aug 21 17:01:58 2009 +0200
+++ b/gub/repository.py	Fri Aug 21 17:17:11 2009 +0200
@@ -136,6 +136,17 @@
     @staticmethod
     def create (rety, dir, source, branch='', module='', revision='', parameters=list ()):
         return rety (dir, source, branch, module, revision)
+    def have_client (self):
+        # FIXME: make generic: have_CLIENT ()?
+        # this would even work for TAR, vs SimpleTar (without --strip-comp)
+        if self.settings:
+            tools_dir = (self.settings.alltargetdir + '/tools'
+                         + self.settings.root_dir)
+            tools_bin = (tools_dir
+                         + self.settings.prefix_dir
+                         + '/bin')
+            return os.path.exists (os.path.join (tools_bin, self.vc_system[1:]))
+        return False
     def migrate (self, dir, dir_slash_vcs):
         self.info ('migrate not implemented for: ' + self.vc_system + '\n')
     def __init__ (self, dir, source):
@@ -596,19 +607,8 @@
                                     ignore_errors=True)
             return bool (result)
         return True
-    def have_git (self):
-        # FIXME: make generic: have_CLIENT ()?
-        # this would even work for TAR, vs SimpleTar (without --strip-comp)
-        if self.settings:
-            tools_dir = (self.settings.alltargetdir + '/tools'
-                         + self.settings.root_dir)
-            tools_bin = (tools_dir
-                         + self.settings.prefix_dir
-                         + '/bin')
-            return os.path.exists (os.path.join (tools_bin, 'git'))
-        return False
     def download (self):
-        if not self.have_git ():
+        if not self.have_client ():
             # sorry, no can do [yet]
             return
         if not os.path.isdir (os.path.join (self.dir, 'refs')):
@@ -966,6 +966,12 @@
             revision = 'HEAD'
         SimpleRepo.__init__ (self, dir, source, branch, module, revision)
 
+    def download (self):
+        if not self.have_client ():
+            # sorry, no can do [yet]
+            return
+        SimpleRepo.download (self)
+
     def is_distributed (self):
         return False