check git repository for modules only in Git (but not in SVN)
authorBarış Metin <Talip-Baris.Metin@sophia.inria.fr>
Thu, 1 Jul 2010 13:52:50 +0000 (15:52 +0200)
committerBarış Metin <Talip-Baris.Metin@sophia.inria.fr>
Thu, 1 Jul 2010 13:52:50 +0000 (15:52 +0200)
module-tools.py

index 0e51956..3db3f88 100755 (executable)
@@ -353,9 +353,14 @@ class Repository:
                 break
 
     @classmethod
-    def has_moved_to_git(cls, module, svnpath):
+    def has_moved_to_git(cls, module, config):
         module = git_to_svn_name(module)
-        return SvnRepository.remote_exists("%s/%s/aaaa-has-moved-to-git" % (svnpath, module))
+        ret = SvnRepository.remote_exists("%s/%s/aaaa-has-moved-to-git" % (config['svnpath'], module))
+        if not ret:
+            # check if the module is already in Git
+            return GitRepository.remote_exists(Module.git_remote_dir(module))
+        return ret
+
 
     @classmethod
     def remote_exists(cls, remote):
@@ -568,7 +573,7 @@ that for other purposes than tagging""" % options.workdir
             print 'Checking for',self.module_dir
 
         if not os.path.isdir (self.module_dir):
-            if Repository.has_moved_to_git(self.name, Module.config['svnpath']):
+            if Repository.has_moved_to_git(self.name, Module.config):
                 self.repository = GitRepository.checkout(self.git_remote_dir(self.name),
                                                          self.module_dir,
                                                          self.options)
@@ -581,7 +586,7 @@ that for other purposes than tagging""" % options.workdir
         self.repository = Repository(self.module_dir, self.options)
         if self.repository.type == "svn":
             # check if module has moved to git    
-            if Repository.has_moved_to_git(self.name, Module.config['svnpath']):
+            if Repository.has_moved_to_git(self.name, Module.config):
                 Command("rm -rf %s" % self.module_dir, self.options).run_silent()
                 self.init_module_dir()
             # check if we have the required branch/tag