package main import ( "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) func doScan() { me.forge.ScanGoSrc() } func doGitPull() { allerr := me.found.RillGitPull(40, 5) all := me.found.SortByGoPath() for all.Scan() { repo := all.Next() result := allerr[repo] if result.Error == gitpb.ErrorGitPullOnDirty { log.Info("skip git pull. repo is dirty", repo.GoPath) continue } if result.Error == gitpb.ErrorGitPullOnLocal { log.Info("skip git pull. local branch ", repo.GoPath) continue } if result.Exit == 0 { continue } log.Info("git pull error:", repo.GoPath, result.Error) log.Info("git pull error:", repo.GoPath, result.Stdout) } } func doFix() { all := me.found.SortByGoPath() for all.Scan() { repo := all.Next() if !repo.IsValid() { log.Printf("%10s %-50s", "old?\n", repo.GoPath) me.forge.Repos.DeleteByGoPath(repo.GoPath) configSave = true continue } log.Printf("running on: %-50s\n", repo.GetGoPath()) cmd := []string{"ls"} repo.Run(cmd) if err := checkoutBranches(repo); err != nil { badExit(err) } } if configSave { me.forge.Repos.ConfigSave() okExit("config saved") } } func checkoutBranches(repo *gitpb.Repo) error { dname := repo.GetDevelBranchName() if dname == "" { if err := me.forge.MakeDevelBranch(repo); err != nil { log.Info("verify() no devel branch name", repo.GoPath) return err } configSave = true } if repo.GetUserBranchName() == "" { if err := me.forge.MakeUserBranch(repo); err != nil { log.Info("verify() no devel branch name", repo.GoPath) return err } configSave = true } return nil }