From ca4de66821b097dc6a43c0384f75a7ab5a292be1 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Fri, 10 Jul 2020 18:23:46 +0200 Subject: [GitArtifact] only update bare repo when checkout can't be provided --- allocbench/artifact.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/allocbench/artifact.py b/allocbench/artifact.py index 60b2ca0..22e50f3 100644 --- a/allocbench/artifact.py +++ b/allocbench/artifact.py @@ -86,22 +86,25 @@ class GitArtifact(Artifact): if not os.path.exists(self.repo): self.retrieve() - # update repo - print_status(f'Updating git repository "{self.name}" ...') - try: - run_cmd(GIT_FETCH_CMD, output_verbosity=1, cwd=self.repo) - except CalledProcessError: - print_error(f"Failed to update {self.name}") - raise - worktree_cmd = ["git", "worktree", "add", location, checkout] print_debug("create new worktree. By running: ", worktree_cmd, f"in {self.repo}") try: run_cmd(worktree_cmd, output_verbosity=1, cwd=self.repo) except CalledProcessError: - print_error(f"Failed to provide {self.name}") - raise + # update repo + print_status(f'Updating git repository "{self.name}" ...') + try: + run_cmd(GIT_FETCH_CMD, output_verbosity=1, cwd=self.repo) + except CalledProcessError: + print_error(f"Failed to update {self.name}") + raise + + try: + run_cmd(worktree_cmd, output_verbosity=1, cwd=self.repo) + except CalledProcessError: + print_error(f"Failed to provide {self.name}") + raise submodule_init_cmd = [ "git", "submodule", "update", "--init", "--recursive" -- cgit v1.2.3