From 5449dbc775c0bffbb5024724700047e47b424606 Mon Sep 17 00:00:00 2001 From: Donny Xia Date: Tue, 26 May 2020 14:44:37 -0700 Subject: [PATCH] Fix git commit hash ignored --- api/internal/git/cloner.go | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/api/internal/git/cloner.go b/api/internal/git/cloner.go index 63fcaa21e..e3696db3e 100644 --- a/api/internal/git/cloner.go +++ b/api/internal/git/cloner.go @@ -4,7 +4,6 @@ package git import ( - "bytes" "log" "os/exec" @@ -34,34 +33,38 @@ func ClonerUsingGitExec(repoSpec *RepoSpec) error { cmd := exec.Command( gitProgram, "clone", - "--depth=1", repoSpec.CloneSpec(), - "-b", - repoSpec.Ref, repoSpec.Dir.String()) - var out bytes.Buffer - cmd.Stdout = &out - cmd.Stderr = &out - err = cmd.Run() + out, err := cmd.CombinedOutput() if err != nil { - log.Printf("Error cloning git repo: %s", out.String()) + log.Printf("Error cloning git repo: %s", out) return errors.Wrapf( err, "trouble cloning git repo %v in %s", repoSpec.CloneSpec(), repoSpec.Dir.String()) } + cmd = exec.Command( + gitProgram, + "checkout", + repoSpec.Ref) + cmd.Dir = repoSpec.Dir.String() + out, err = cmd.CombinedOutput() + if err != nil { + log.Printf("Error checking out ref: %s", out) + return errors.Wrapf(err, "trouble checking out %s", repoSpec.Ref) + } + cmd = exec.Command( gitProgram, "submodule", "update", "--init", "--recursive") - cmd.Stdout = &out - cmd.Stderr = &out cmd.Dir = repoSpec.Dir.String() - err = cmd.Run() + out, err = cmd.CombinedOutput() if err != nil { + log.Printf("Error fetching submodules: %s", out) return errors.Wrapf(err, "trouble fetching submodules for %s", repoSpec.CloneSpec()) }