From ade72a81bbff90fcec7b42d0b95a02e5b8aeea7b Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 5 Jan 2018 20:03:04 -0200 Subject: [PATCH] AddonManager: Enable the use of submodules --- src/Mod/AddonManager/AddonManager.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py index 9bb18a9c33..1392b78d62 100644 --- a/src/Mod/AddonManager/AddonManager.py +++ b/src/Mod/AddonManager/AddonManager.py @@ -757,6 +757,11 @@ class InstallWorker(QtCore.QThread): repo.head.reset('--hard') repo = git.Git(clonedir) answer = repo.pull() + + # Update the submodules for this repository + repo_sms = git.Repo(clonedir) + for submodule in repo_sms.submodules: + submodule.update(init=True, recursive=True) else: answer = self.download(self.repos[idx][1],clonedir) else: @@ -766,6 +771,10 @@ class InstallWorker(QtCore.QThread): if git: self.info_label.emit("Cloning module...") repo = git.Repo.clone_from(self.repos[idx][1], clonedir, branch='master') + + # Make sure to clone all the submodules as well + if repo.submodules: + repo.submodule_update(recursive=True) else: self.info_label.emit("Downloading module...") self.download(self.repos[idx][1],clonedir)