// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main // An app to submit patches for the 30 GO GUI repos import ( "fmt" "time" "go.wit.com/gui" "go.wit.com/lib/debugger" "go.wit.com/lib/gui/shell" "go.wit.com/lib/protobuf/gitpb" "go.wit.com/log" ) func init() { if debugger.ArgDebug() { log.Info("cmd line --debugger == true") go func() { log.Sleep(2) debugger.DebugWindow() }() } } func debug() { defer func() { if r := recover(); r != nil { gui.Crash(r, "forge debug()") } }() time.Sleep(2 * time.Second) for { now := time.Now() if me.repoAllB != nil { tmp := fmt.Sprintf("All (%d)", me.forge.Repos.Len()) me.repoAllB.SetLabel(tmp) } if me.repoDevelMergeB != nil { found := findMergeToDevel() tmp := fmt.Sprintf("needs merge to devel (%d)", found.Len()) me.repoDevelMergeB.SetLabel(tmp) } if me.repoWritableB != nil { found := gitpb.NewRepos() for repo := range me.forge.Repos.IterByFullPath() { if me.forge.Config.IsReadOnly(repo.GetGoPath()) { continue } found.AppendByFullPath(repo) } tmp := fmt.Sprintf("writable (%d)", found.Len()) me.repoWritableB.SetLabel(tmp) } dirty := me.forge.CheckDirty() if me.repoDirtyB != nil { tmp := fmt.Sprintf("dirty (%d)", dirty.Len()) me.repoDirtyB.SetLabel(tmp) } if me.reposWinB != nil { tmp := fmt.Sprintf("Repos (%d)", me.forge.Repos.Len()) if dirty.Len() > 0 { tmp = fmt.Sprintf("Repos (%d) (%d dirty)", me.forge.Repos.Len(), dirty.Len()) } me.reposWinB.SetLabel(tmp) } // check for new patches log.Info("should check for packages here") // if err := me.forge.ListPatches(); err != nil { // log.Info("List Patchsets Failed", err) // } log.Printf("finished a forge scan here in (%s)\n", shell.FormatDuration(time.Since(now))) time.Sleep(90 * time.Second) } }