diff options
| author | Jeff Carr <[email protected]> | 2025-09-27 01:49:17 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-27 02:15:02 -0500 |
| commit | d01dc53022f27ef4550138eba1915ad472b11b0a (patch) | |
| tree | a5bb8d715853ef4a9b98fdf64d658e4d862fa23a | |
| parent | 8d04a42a2b5915b7681375e2593db33e713097a0 (diff) | |
restructure code
| -rw-r--r-- | doRepos.go | 178 | ||||
| -rw-r--r-- | old.go | 120 | ||||
| -rw-r--r-- | scanReposDir.go (renamed from forgeDir.go) | 46 |
3 files changed, 166 insertions, 178 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 } -*/ @@ -0,0 +1,120 @@ +package main + +/* +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 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 doReposList() error { + log.Info("do pull here") + dirs, err := scanForgedDir(me.forge.Config.ReposDir) + if err != nil { + badExit(err) + return err + } + + 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 + } + } + return nil +} +*/ diff --git a/forgeDir.go b/scanReposDir.go index 5dc9ea8..9c62e55 100644 --- a/forgeDir.go +++ b/scanReposDir.go @@ -4,6 +4,7 @@ import ( "fmt" "os" "path/filepath" + "strings" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" @@ -70,25 +71,46 @@ func scanForgedDir(srcDir string) ([]string, error) { } return filepath.SkipDir } - // log.Info("BAD ?", path) - // all = append(all, path) - /* - if ok, err := addGitRepoDir(path); ok { - log.Info("added", path) - } else { - log.Info("err", path, err) - } - */ // todo: check if dir is empty here and delete dir? return nil }) - // probably always leave this here forever - // this check, along with CheckDirty() makes sure you can safely delete ~/go/src or the go.work directory - // because everything is either checked in or deleted. An important thing to know! if trip { log.Info("WARNING: junk in", srcDir) } return all, 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 +} |
