diff options
Diffstat (limited to 'doRepos.go')
| -rw-r--r-- | doRepos.go | 178 |
1 files changed, 12 insertions, 166 deletions
@@ -2,8 +2,6 @@ package main import ( "os" - "path/filepath" - "strings" "time" "go.wit.com/lib/gui/shell" @@ -87,131 +85,6 @@ func doRepos() error { return nil } -/* -func doReposInit() { - log.Info("do pull here") - dirs, err := scanForgedDir(me.forge.Config.ReposDir) - if err != nil { - badExit(err) - } - os.Chdir(me.forge.Config.ReposDir) - - for _, dir := range dirs { - // log.Info("found repo", i, dir) - // repo, err := me.forge.AddNamespaceDir(ns string, fullpath string) - repo, err := readGitPB(dir) - if err != nil { - log.Info(dir, err) - continue - } - - // check to see if 'git clone' has already been run - _, err = os.Stat(filepath.Join(dir, "git.clone")) - if os.IsNotExist(err) { - log.Info("repo needs cloning:", repo.Namespace, repo.URL, dir) - if err := tryGitClone(repo, dir); err == nil { - continue - } - - // check for GO lang specific 'git clone' redirects - if pkgurl, err := forgepb.RunGoList(repo.Namespace); err == nil { - log.Info("NEED TO TRY", pkgurl) - // if repo, err := f.urlClone(gopath, pkgurl); repo != nil { - // return repo, err - // } - if err := forgepb.RunGitClone("git.clone", dir, pkgurl); err == nil { - } else { - badExit(err) - } - } else { - badExit(err) - } - } else { - // log.Info("repo is already cloned", dir, repo.Namespace) - } - } - okExit("") -} -*/ - -func tryGitClone(repo *gitpb.Repo, dir string) error { - if err := forgepb.RunGitClone("git.clone", dir, "https://"+repo.Namespace); err == nil { - return nil - } - giturl, err := forgepb.FindGoImport("https://" + repo.Namespace) - if err == nil { - log.Info("TRY THIS INSTEAD!!!!", giturl) - if err := forgepb.RunGitClone("git.clone", dir, giturl); err != nil { - log.Info("git clone still failed", giturl, err) - return err - } - return nil - } - log.Info("git clone failed", err) - return err -} - -// must be "/foo/bar/" + "git.clone/" and then have a .git/ dir -func addGitRepoDir(dir string) (bool, error) { - fullpath := filepath.Join(dir, "git.clone") - if check := me.forge.Repos.FindByFullPath(fullpath); check != nil { - // log.Info(oldr.Namespace, fullpath, "already added") - return false, nil - } - - var namespace string - if oldr, err := readGitPB(dir); err == nil { - namespace = oldr.Namespace - } else { - log.Info("readGitPB() failed", dir, err) - namespace = strings.TrimPrefix(dir, "/home/repos") - } - namespace = strings.Trim(namespace, "/") - - // check to see if 'git clone' has already been run - _, err := os.Stat(fullpath) - if os.IsNotExist(err) { - log.Info("repo needs cloning:", namespace, dir) - return false, err - } - if repo, err := me.forge.AddNamespaceDir(namespace, fullpath); err == nil { - log.Info("repo added", repo.FullPath) - return true, nil - } else { - log.Info("repo add failed", repo.FullPath, err) - return false, err - } - return false, err -} - -/* -func initForged() error { - var changed bool - log.Info("do pull here") - dirs, err := scanForgedDir(me.forge.Config.ReposDir) - if err != nil { - return err - } - log.Printf("forged has %d repos\n", me.forge.Repos.Len()) - // me.forge.PrintHumanTable(me.forge.Repos) - - for _, dir := range dirs { - fullpath := filepath.Join(dir, "git.clone") - ok, err := addGitRepoDir(fullpath); - if ok { - changed = true - } - if err != nil { - log.Info("repo add problem", fullpath, err) - } - } - if changed { - me.forge.SaveRepos() - } - return nil -} -*/ - func verifyForged() { var changed bool = false for repo := range me.forge.Repos.IterAll() { @@ -234,46 +107,19 @@ func verifyForged() { } } -/* -func doReposList() error { - log.Info("do pull here") - dirs, err := scanForgedDir(me.forge.Config.ReposDir) - if err != nil { - badExit(err) - return err +func tryGitClone(repo *gitpb.Repo, dir string) error { + if err := forgepb.RunGitClone("git.clone", dir, "https://"+repo.Namespace); err == nil { + return nil } - - count := 0 - for _, dir := range dirs { - // log.Info("found repo", i, dir) - // repo, err := forge.AddNamespaceDir(ns string, fullpath string) - oldr, err := readGitPB(dir) - if err != nil { - log.Info(dir, err) - continue - } - - fullpath := filepath.Join(dir, "git.clone") - - if check := me.forge.Repos.FindByFullPath(fullpath); check != nil { - log.Info(oldr.Namespace, fullpath, "already added") - continue - } - - // check to see if 'git clone' has already been run - _, err = os.Stat(fullpath) - if os.IsNotExist(err) { - // log.Info("repo needs cloning:", oldr.Namespace, repo.URL, dir) - } else { - log.Info("repo is already cloned", dir, oldr.Namespace) - // me.forge.Repos.Append(newr) - // break - if count > 50 { - // break - } - count += 1 + giturl, err := forgepb.FindGoImport("https://" + repo.Namespace) + if err == nil { + log.Info("TRY THIS INSTEAD!!!!", giturl) + if err := forgepb.RunGitClone("git.clone", dir, giturl); err != nil { + log.Info("git clone still failed", giturl, err) + return err } + return nil } - return nil + log.Info("git clone failed", err) + return err } -*/ |
