Merge pull request #2537 from Shell32-Natsu/fix-clone-hash

Fix git commit hash ignored
This commit is contained in:
Jeff Regan
2020-05-27 13:22:08 -07:00
committed by GitHub
2 changed files with 17 additions and 12 deletions

View File

@@ -4,7 +4,6 @@
package git package git
import ( import (
"bytes"
"log" "log"
"os/exec" "os/exec"
@@ -34,34 +33,38 @@ func ClonerUsingGitExec(repoSpec *RepoSpec) error {
cmd := exec.Command( cmd := exec.Command(
gitProgram, gitProgram,
"clone", "clone",
"--depth=1",
repoSpec.CloneSpec(), repoSpec.CloneSpec(),
"-b",
repoSpec.Ref,
repoSpec.Dir.String()) repoSpec.Dir.String())
var out bytes.Buffer out, err := cmd.CombinedOutput()
cmd.Stdout = &out
cmd.Stderr = &out
err = cmd.Run()
if err != nil { if err != nil {
log.Printf("Error cloning git repo: %s", out.String()) log.Printf("Error cloning git repo: %s", out)
return errors.Wrapf( return errors.Wrapf(
err, err,
"trouble cloning git repo %v in %s", "trouble cloning git repo %v in %s",
repoSpec.CloneSpec(), repoSpec.Dir.String()) 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( cmd = exec.Command(
gitProgram, gitProgram,
"submodule", "submodule",
"update", "update",
"--init", "--init",
"--recursive") "--recursive")
cmd.Stdout = &out
cmd.Stderr = &out
cmd.Dir = repoSpec.Dir.String() cmd.Dir = repoSpec.Dir.String()
err = cmd.Run() out, err = cmd.CombinedOutput()
if err != nil { if err != nil {
log.Printf("Error fetching submodules: %s", out)
return errors.Wrapf(err, "trouble fetching submodules for %s", repoSpec.CloneSpec()) return errors.Wrapf(err, "trouble fetching submodules for %s", repoSpec.CloneSpec())
} }

View File

@@ -60,6 +60,8 @@ func getRemoteTarget(rs *remoteTargetSpec) error {
return err return err
} }
rs.Dir = filesys.ConfirmedDir(rs.Dir.Join("repo"))
// Get the pwd // Get the pwd
pwd, err := os.Getwd() pwd, err := os.Getwd()
if err != nil { if err != nil {