57 lines
1.1 KiB
Go
57 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"go.wit.com/lib/gui/repolist"
|
|
"go.wit.com/log"
|
|
)
|
|
|
|
func PrintReport(readonly string, onlydirty string, perfect string) {
|
|
var count int
|
|
|
|
log.Info(repolist.ReportHeader())
|
|
|
|
loop := me.repos.View.ReposSortByName()
|
|
for loop.Scan() {
|
|
repo := loop.Repo()
|
|
|
|
count += 1
|
|
header := repo.StandardHeader()
|
|
if onlydirty == "true" {
|
|
if repo.CheckDirty() {
|
|
log.Info(header + "")
|
|
}
|
|
continue
|
|
}
|
|
|
|
if me.forge.Config.IsReadOnly(repo.GetGoPath()) {
|
|
if readonly == "true" {
|
|
log.Info(header + "readonly")
|
|
}
|
|
continue
|
|
}
|
|
if repo.State() == "PERFECT" {
|
|
if perfect == "false" {
|
|
continue
|
|
}
|
|
}
|
|
if repo.State() != "merge to main" {
|
|
log.Info(header + "")
|
|
continue
|
|
}
|
|
if repo.CheckDirty() {
|
|
log.Info(header + "")
|
|
continue
|
|
}
|
|
log.Info(header + "")
|
|
check := me.forge.FindByGoPath(repo.GetGoPath())
|
|
if check == nil {
|
|
log.Info("boo, you didn't git clone", repo.GetGoPath())
|
|
continue
|
|
}
|
|
me.forge.StandardReleaseHeader(check, repo.State())
|
|
}
|
|
log.Info(fmt.Sprintf("EVERYTHING WORKED repo count = %d", count))
|
|
}
|