I have a github structure like :
group_name/Project_dir/Project_subdir which looks like this git@github.com:group_name/project_dir/subdir.git
on github . I'm trying to use go-get to get the project but it treats go get github.com/group_name/project_dir/subdir
like group_name/project_dir.git and fails.
I have done go get github.com/group_name/project_dir/subdir.git
but it pulls the code to subdir.git folder.
Is there any other way to get this code in subdir folder apart from manually doing mv subdir.get subdir
?
读取项目的go.sum文件,遍历每一行,然后执行go get,参考:
func main() {
sumContent, err := ioutil.ReadFile("go.sum")
if err != nil {
fmt.Println(fmt.Sprintf("read go.sum failed,got :%s", err.Error()))
}
scanner := bufio.NewScanner(bytes.NewReader(sumContent))
for scanner.Scan() {
line := scanner.Text()
parts := strings.Fields(line)
pkg := parts[0]
version := parts[1]
// 对version做处理
if strings.Contains(version, "/go.mod") {
version = strings.Replace(version, "/go.mod", "", -1)
}
target := fmt.Sprintf("%s@%s", pkg, version)
fmt.Println(fmt.Sprintf("go get -insecure %v", target))
envCmd := cmd.NewCmd("go", "get", "-v", "-u", "-insecure", target)
gms := <-envCmd.Start()
for _, gm := range gms.Stderr {
fmt.Println(gm)
}
}
}