summaryrefslogtreecommitdiff
path: root/debug.go
diff options
context:
space:
mode:
Diffstat (limited to 'debug.go')
-rw-r--r--debug.go88
1 files changed, 88 insertions, 0 deletions
diff --git a/debug.go b/debug.go
new file mode 100644
index 0000000..ee4f7eb
--- /dev/null
+++ b/debug.go
@@ -0,0 +1,88 @@
+// 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)
+ }
+}