package main import ( "go.wit.com/log" ) func (f *FindCmd) findRepos() { if f == nil { findMine() return } if f.All { findAll(f) return } if f.Private { findPrivate() return } if f.Mine { findMine() return } if f.Favorites { findFavorites() return } findMine() } func findRepos(fargv *FindCmd) { if fargv == nil { findMine() return } if fargv.All { findAll(fargv) return } if fargv.Private { findPrivate() return } if fargv.Mine { findMine() return } if fargv.Favorites { findFavorites() return } findMine() } func findPrivate() { all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() if me.forge.Config.IsPrivate(repo.GetGoPath()) { me.found.AppendUniqueGoPath(repo) } } } // finds repos that are writable func findMine() { // log.Printf("get mine %s\n", me.forge.GetGoSrc()) all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() if me.forge.Config.IsWritable(repo.GetGoPath()) { me.found.AppendUniqueGoPath(repo) } } } // finds repos that are writable func findFavorites() { // log.Printf("get favorites %s\n", me.forge.GetGoSrc()) all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() if me.forge.Config.IsFavorite(repo.GetGoPath()) { me.found.AppendUniqueGoPath(repo) } } } // func (f *FindCmd) findRepos() { func findAll(fargv *FindCmd) { all := me.forge.Repos.SortByFullPath() for all.Scan() { repo := all.Next() me.found.AppendUniqueGoPath(repo) if me.forge.Config.IsReadOnly(repo.GetGoPath()) && !fargv.ReadOnly { if repo.ReadOnly { continue } log.Info("todo: ConfigSave() readonly flag on repo is wrong", repo.GetGoPath()) repo.ReadOnly = true configSave = true continue } } /* if configsave { log.Info("should ConfigSave here") me.forge.Repos.ConfigSave() } */ }