From c06fafdb6f32e87b49dbc69a20fc723e821ed268 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Tue, 28 Jan 2014 23:49:36 +0100 Subject: [PATCH] Do submodules recursively, do init and update at the same time --- docs/fdroid.texi | 6 ++++-- fdroidserver/common.py | 6 ++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/fdroid.texi b/docs/fdroid.texi index cb5d17a2..765dd5e8 100644 --- a/docs/fdroid.texi +++ b/docs/fdroid.texi @@ -820,8 +820,10 @@ Specifies to build from a subdirectory of the checked out source code. Normally this directory is changed to before building, @item submodules=yes -Use if the project (git only) has submodules - causes git submodule -init and update to be executed after the source is cloned. +Use if the project (git only) has submodules - causes @code{git submodule +update --init --recursive} to be executed after the source is cloned. +Submodules are reset and cleaned like the main app repository itself before +each build. @item init=xxxx As for 'prebuild', but runs on the source code BEFORE any other processing diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 3bca96d3..6ccb30d0 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -336,10 +336,8 @@ class vcs_git(vcs): def initsubmodules(self): self.checkrepo() - if subprocess.call(['git', 'submodule', 'init'], - cwd=self.local) != 0: - raise VCSException("Git submodule init failed") - if subprocess.call(['git', 'submodule', 'update'], + if subprocess.call(['git', 'submodule', 'update', + '--init', '--recursive'], cwd=self.local) != 0: raise VCSException("Git submodule update failed") if subprocess.call(['git', 'submodule', 'foreach',