in getdeps/git.go [52:78]
func gitCloneShallow(label, repo, ref, dest string) (err error) {
if err = os.MkdirAll(dest, 0o755); err != nil {
return fmt.Errorf("%s: error creating %q: %w", label, dest, err)
}
defer func() {
if err != nil {
if dest != "." {
os.RemoveAll(dest)
} else {
os.RemoveAll(".git")
}
}
}()
if err = runCommand("git", "-C", dest, "init", "-q"); err != nil {
return fmt.Errorf("%s: %w", label, err)
}
if err = runCommand("git", "-C", dest, "remote", "add", "origin", repo); err != nil {
return fmt.Errorf("%s: %w", label, err)
}
if err = runCommand("git", "-C", dest, "fetch", "--depth=1", "origin", ref); err != nil {
return fmt.Errorf("%s: %w", label, err)
}
if err = runCommand("git", "-C", dest, "checkout", "-q", ref); err != nil {
return fmt.Errorf("%s: %w", label, err)
}
return nil
}