chiark / gitweb /
Run submodule reset and clean before update. Also do --recursive for these.
authorDaniel Martí <mvdan@mvdan.cc>
Wed, 29 Jan 2014 11:38:21 +0000 (12:38 +0100)
committerDaniel Martí <mvdan@mvdan.cc>
Wed, 29 Jan 2014 11:38:21 +0000 (12:38 +0100)
fdroidserver/common.py

index 6ccb30d0d2dd935d1b5716913d7859133eb4231c..b348af1f1836077885f7600935a36df97f4976ab 100644 (file)
@@ -336,18 +336,18 @@ class vcs_git(vcs):
 
     def initsubmodules(self):
         self.checkrepo()
-        if subprocess.call(['git', 'submodule', 'update',
-            '--init', '--recursive'],
-                cwd=self.local) != 0:
-            raise VCSException("Git submodule update failed")
-        if subprocess.call(['git', 'submodule', 'foreach',
+        if subprocess.call(['git', 'submodule', 'foreach', '--recursive',
             'git', 'reset', '--hard'],
                 cwd=self.local) != 0:
             raise VCSException("Git submodule reset failed")
-        if subprocess.call(['git', 'submodule', 'foreach',
+        if subprocess.call(['git', 'submodule', 'foreach', '--recursive',
             'git', 'clean', '-dffx'],
                 cwd=self.local) != 0:
             raise VCSException("Git submodule clean failed")
+        if subprocess.call(['git', 'submodule', 'update',
+            '--init', '--force', '--recursive'],
+                cwd=self.local) != 0:
+            raise VCSException("Git submodule update failed")
 
     def gettags(self):
         self.checkrepo()