AppRunner: Create .git directory when cloning repository
Change-Id: Ibd3fe3285bb230bb3cc4be70575742806aa7fd18
diff --git a/apps/app-runner/server.go b/apps/app-runner/server.go
index e917754..a65cb0a 100644
--- a/apps/app-runner/server.go
+++ b/apps/app-runner/server.go
@@ -132,18 +132,24 @@
}
}
if s.repoAddr != "" {
- commit, err := CloneRepositoryBranch(s.repoAddr, s.branch, s.rootDir, s.signer, newDir)
- if err != nil {
- fmt.Fprintf(s.logs, "!!! dodo: Failed to clone repository\n")
- s.status = &Status{
- Commit: nil,
+ if _, err := os.Stat(filepath.Join(newDir, ".git")); err != nil && os.IsNotExist(err) {
+ commit, err := CloneRepositoryBranch(s.repoAddr, s.branch, s.rootDir, s.signer, newDir)
+ if err != nil {
+ fmt.Fprintf(s.logs, "!!! dodo: Failed to clone repository\n")
+ s.status = &Status{
+ Commit: nil,
+ }
+ return err
}
- return err
- }
- fmt.Fprintf(s.logs, "!!! dodo: Successfully cloned repository %s\n", commit.Hash)
- s.status = &Status{
- Commit: commit,
- Commands: []CommandStatus{},
+ fmt.Fprintf(s.logs, "!!! dodo: Successfully cloned repository %s\n", commit.Hash)
+ s.status = &Status{
+ Commit: commit,
+ Commands: []CommandStatus{},
+ }
+ } else {
+ s.status = &Status{
+ Commands: []CommandStatus{},
+ }
}
} else {
s.status = &Status{