forge/list.go

53 lines
885 B
Go

package main
import (
"fmt"
"os"
"go.wit.com/log"
)
func list() {
if argv.ListConf {
me.forge.ConfigPrintTable()
os.Exit(0)
}
if argv.List {
repos := me.forge.Repos.SortByGoPath()
for repos.Scan() {
repo := repos.Next()
var rtype string
if !repo.IsValid() {
rtype = "rm?"
continue
} else {
rtype = repo.RepoType()
}
if me.forge.IsReadOnly(repo.GetGoPath()) {
continue
}
var end string
if repo.CheckDirty() {
end += "(dirty) "
}
mver := repo.GetMasterVersion()
dver := repo.GetDevelVersion()
uver := repo.GetUserVersion()
s := fmt.Sprintf("%-50s %-8s %-10s %-10s %-10s", repo.GetGoPath(), rtype, mver, dver, uver)
log.Info(s, end)
}
os.Exit(0)
}
if argv.GetMine {
log.Printf("get mine %s", me.forge.GetGoSrc())
os.Exit(0)
}
if argv.GetFav {
log.Printf("get favorites")
os.Exit(0)
}
}