diff options
Diffstat (limited to 'debug.go')
| -rw-r--r-- | debug.go | 88 |
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) + } +} |
