From 6ea0ee469fecc6470768111f0cb704f99e224fd7 Mon Sep 17 00:00:00 2001 From: cdle <798731886@qq.com> Date: Sat, 21 Aug 2021 17:26:23 +0800 Subject: [PATCH] x --- .gitignore | 2 +- models/repos.go | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 09a091b..9b6e542 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,4 @@ conf/reply.php jdCookie.js scripts/node_modules task/* -repos/* \ No newline at end of file +repos \ No newline at end of file diff --git a/models/repos.go b/models/repos.go index 45ad201..7f640e4 100644 --- a/models/repos.go +++ b/models/repos.go @@ -12,22 +12,26 @@ type Repo struct { filename string } +var reposPath = "" + func (rp *Repo) init() { rp.filename = strings.Replace(strings.Replace(rp.Git, "https://", "", -1), "/", "_", -1) } func initRepos() { + reposPath = ExecPath + "/repos" + if _, err := os.Stat(reposPath); err != nil { + os.MkdirAll(reposPath, os.ModePerm) + } for _, repo := range Config.Repos { repo.init() - if _, err := os.Stat(ExecPath + "/" + repo.filename); err != nil { + if _, err := os.Stat(reposPath + "/" + repo.filename); err != nil { repo.gitClone() } } } func (rp *Repo) gitClone() { - cmd := exec.Command("git", "clone", rp.Git, rp.filename) - cmd.Path = ExecPath + "/repos" - fmt.Println(cmd.Path) - fmt.Println(cmd.Start()) + cmd := exec.Command("sh", "-c", fmt.Sprintf("git clone %s %s", rp.Git, rp.filename)) + cmd.Output() }