forge --private : your configured private repos

This commit is contained in:
Jeff Carr 2024-12-03 17:59:47 -06:00
parent d1cc3bd09a
commit 923160d70c
3 changed files with 49 additions and 4 deletions

View File

@ -46,6 +46,10 @@ list: build
reset
./forge --list
list-private: build
reset
./forge --list --private
list-fix: build
reset
./forge --list --fix

View File

@ -23,6 +23,7 @@ type args struct {
Clone bool `arg:"--clone" help:"go-clone things you are missing"`
Force bool `arg:"--force" help:"force redo go-clone"`
Erase bool `arg:"--erase" help:"erase"`
Private bool `arg:"--private" help:"list private repos in .config/forge/"`
}
func (args) Version() string {

48
list.go
View File

@ -15,12 +15,52 @@ func list() {
os.Exit(0)
}
if argv.List {
if argv.Private {
repos := me.forge.Repos.SortByGoPath()
for repos.Scan() {
repo := repos.Next()
if me.forge.IsPrivate(repo.GoPath) {
verifyPrint(repo)
}
}
configs := me.forge.Config.SortByGoPath()
for configs.Scan() {
thing := configs.Next()
if thing.Directory {
continue
}
if thing.Private {
found := me.forge.Repos.FindByGoPath(thing.GoPath)
if found == nil {
log.Info("have not downloaded private:", thing.GoPath)
} else {
log.Info("already downloaded private:", thing.GoPath)
}
}
}
os.Exit(0)
}
if argv.List {
var configsave bool
repos := me.forge.Repos.SortByGoPath()
for repos.Scan() {
repo := repos.Next()
if me.forge.IsReadOnly(repo) && !argv.ReadOnly {
if repo.ReadOnly {
continue
}
log.Info("todo: ConfigSave() readonly flag on repo is wrong", repo.GoPath)
repo.ReadOnly = true
configsave = true
continue
}
verifyPrint(repo)
}
if configsave {
log.Info("should ConfigSave here")
me.forge.Repos.ConfigSave()
}
os.Exit(0)
}
@ -59,9 +99,9 @@ func verifyPrint(repo *gitpb.Repo) {
return
}
start := fmt.Sprintf("%-40s %-8s %-20s %-20s %-20s", s["gopath"], s["rtype"], s["cver"], s["mver"], s["cver"])
if s["url"] != "" {
end += "(" + s["url"] + ") "
}
//if s["url"] != "" {
// end += "(" + s["url"] + ") "
//}
if repo.ReadOnly {
end += "(readonly) "
}