From c57b1a2155a78cc2429ce7d36fc8667959643c03 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 21 Feb 2024 11:18:16 -0600 Subject: [PATCH] code moved to submit-patchset --- globalResetOptions.go | 3 +- main.go | 6 +- repoview.go | 8 ++ structs.go | 2 +- submitPatches.go | 257 ------------------------------------------ 5 files changed, 14 insertions(+), 262 deletions(-) delete mode 100644 submitPatches.go diff --git a/globalResetOptions.go b/globalResetOptions.go index 18a9565..d7027e7 100644 --- a/globalResetOptions.go +++ b/globalResetOptions.go @@ -3,6 +3,7 @@ package main import ( "os" "path/filepath" + "strconv" "strings" "go.wit.com/gui" @@ -53,7 +54,7 @@ func globalResetOptions(box *gui.Node) { me.deleteGoSrcPkgB.SetLabel("WE ARE NOT KIDDING") return } - var totals string = "All " + me.summary.totalGoOL.String() + " Repos?" + var totals string = "All " + strconv.Itoa(me.repos.View.TotalGo()) + " Repos?" log.Info("totals =", totals) if me.deleteGoSrcPkgB.String() == "WE ARE NOT KIDDING" { me.deleteGoSrcPkgB.SetLabel(totals) diff --git a/main.go b/main.go index 2750ec7..c8cf5f4 100644 --- a/main.go +++ b/main.go @@ -33,7 +33,7 @@ func main() { vbox2 := me.mainbox.NewVerticalBox("BOX2") globalBuildOptions(vbox2) - me.summary = submitPatchesBox(vbox2) + // me.summary = submitPatchesBox(vbox2) globalResetOptions(me.mainbox) @@ -51,7 +51,7 @@ func main() { handleCmdLine() // processing is done. update the repo summary box - me.summary.Update() + // me.summary.Update() me.Enable() @@ -59,6 +59,6 @@ func main() { me.repos.View.Watchdog(func() { log.Info("In main()") // processing is done. update the repo summary box - me.summary.Update() + // me.summary.Update() }) } diff --git a/repoview.go b/repoview.go index 10d8c2d..3ba6988 100644 --- a/repoview.go +++ b/repoview.go @@ -120,6 +120,14 @@ func (r *repoWindow) repoAllButtons() *gui.Node { r.Enable() }) + box2.NewButton("git pull", func() { + r.Disable() + defer r.Enable() + for _, repo := range r.View.AllRepos() { + repo.RunCmd([]string{"git", "pull"}) + } + }) + box2.NewButton("test all builds", func() { r.Disable() defer r.Enable() diff --git a/structs.go b/structs.go index 45df0a0..227f88b 100644 --- a/structs.go +++ b/structs.go @@ -72,7 +72,7 @@ type autoType struct { // displays a summary of all the repos // has total dirty, total read-only // total patches, etc - summary *patchSummary + // summary *patchSummary // when switch to user or devel branches, autocreate them autoCreateBranches *gui.Node diff --git a/submitPatches.go b/submitPatches.go deleted file mode 100644 index ac06aab..0000000 --- a/submitPatches.go +++ /dev/null @@ -1,257 +0,0 @@ -package main - -import ( - "path/filepath" - "strconv" - - "go.wit.com/gui" - "go.wit.com/lib/gadgets" - "go.wit.com/lib/gui/gowit" - "go.wit.com/lib/gui/repolist" - "go.wit.com/lib/gui/shell" - "go.wit.com/log" -) - -/* -type patch struct { - ref string - giturl string - comment string - rs *repostatus.RepoStatus -} -*/ - -type patchSummary struct { - grid *gui.Node - updateB *gui.Node - docsB *gui.Node - gitPushB *gui.Node - gitPullB *gui.Node - checkB *gui.Node - - // stats - totalOL *gadgets.OneLiner - totalGoOL *gadgets.OneLiner - dirtyOL *gadgets.OneLiner - readonlyOL *gadgets.OneLiner - totalPatchesOL *gadgets.OneLiner - totalUserRepos *gui.Node - totalDevelRepos *gui.Node - totalMasterRepos *gui.Node - totalUserPatches *gui.Node - totalDevelPatches *gui.Node - totalMasterPatches *gui.Node - - // patch set generation - unknownOL *gadgets.BasicEntry - unknownSubmitB *gui.Node - reason *gadgets.BasicEntry - submitB *gui.Node - allp []*repolist.Patch -} - -func submitPatchesBox(box *gui.Node) *patchSummary { - s := new(patchSummary) - group1 := box.NewGroup("Submit Patches Summary") - s.grid = group1.RawGrid() - - s.grid.NewButton("Update Patch Counts", func() { - var repocount, patchcount int - for _, repo := range repolist.AllRepos() { - if repo.ReadOnly() { - continue - } - i, _ := repo.GetMasterPatches() - patchcount += i - if i > 0 { - repocount += 1 - } - } - s.totalMasterPatches.SetText(strconv.Itoa(patchcount) + " patches") - s.totalMasterRepos.SetText(strconv.Itoa(repocount) + " go repos") - - repocount = 0 - patchcount = 0 - for _, repo := range repolist.AllRepos() { - if repo.ReadOnly() { - continue - } - i, _ := repo.GetUserPatches() - patchcount += i - if i > 0 { - repocount += 1 - } - } - s.totalUserPatches.SetText(strconv.Itoa(patchcount) + " patches") - s.totalUserRepos.SetText(strconv.Itoa(repocount) + " go repos") - }) - - /* this used to be the way and should probably be revisited - s.grid.NewButton("Make Patches", func() { - for i, p := range s.allp { - log.Info(i, p.Ref, p.RS.String()) - } - }) - */ - - s.grid.NextRow() - - s.totalOL = gadgets.NewOneLiner(s.grid, "Total") - s.grid.NextRow() - - s.totalGoOL = gadgets.NewOneLiner(s.grid, "Total GO") - s.grid.NextRow() - - s.dirtyOL = gadgets.NewOneLiner(s.grid, "dirty") - s.grid.NextRow() - - s.readonlyOL = gadgets.NewOneLiner(s.grid, "read-only") - s.grid.NextRow() - - // s.grid = group1.RawGrid() - s.grid.NewLabel("") - s.grid.NewLabel("") - s.grid.NewLabel("user to devel") - s.grid.NewLabel("devel to master") - s.grid.NewLabel("master to last tag") - s.grid.NextRow() - - s.grid.NewLabel("total modified") - s.grid.NewLabel("") - s.totalUserRepos = s.grid.NewLabel("x go repos") - s.totalDevelRepos = s.grid.NewLabel("") - s.totalMasterRepos = s.grid.NewLabel("x go repos") - s.grid.NextRow() - - s.totalPatchesOL = gadgets.NewOneLiner(s.grid, "total commits") - s.totalUserPatches = s.grid.NewLabel("x patches") - s.totalDevelPatches = s.grid.NewLabel("") - s.totalMasterPatches = s.grid.NewLabel("x patches") - s.grid.NextRow() - - s.grid.NewLabel("") - s.grid.NewLabel("") - s.grid.NewButton("merge from user", func() { - log.Info("this should make a patchset of your patches") - }) - s.grid.NewButton("merge from devel", func() { - log.Info("this probably should not exist") - }) - s.grid.NextRow() - - group1 = box.NewGroup("Create GUI Patch Set") - s.grid = group1.RawGrid() - s.reason = gadgets.NewBasicEntry(s.grid, "patch name:") - s.reason.Custom = func() { - if s.reason.String() != "" { - s.submitB.Enable() - } else { - s.submitB.Disable() - } - } - s.submitB = s.grid.NewButton("Submit Patches", func() { - patchdir := filepath.Join(me.userHomePwd.String(), "autotypist.patchset") - if shell.Exists(patchdir) { - log.Info("patchset dir already exists", patchdir) - return - } else { - shell.Mkdir(patchdir) - } - if !shell.Exists(patchdir) { - log.Info("something went wrong making", patchdir) - return - } - me.repos.View.MakePatchset(patchdir) - }) - // disable these until there are not dirty repos - s.reason.Disable() - s.submitB.Disable() - s.grid.NextRow() - - // map a path to gitea - s.unknownOL = gadgets.NewBasicEntry(s.grid, "Unknown Repo:") - s.unknownSubmitB = s.grid.NewButton("map new repo path", func() { - log.Info("Submit repo:", s.unknownOL.String()) - repo := me.repos.View.FindRepo(s.unknownOL.String()) - if repo == nil { - log.Info("could not find repo:", s.unknownOL.String(), "in ~/go/src") - return - } - - localurl := repo.Status.GitURL() - log.Info("found repo:", repo.GoPath(), "with giturl", localurl) - if localurl == "" { - log.Info("local repo check failed. repo") - } else { - log.Info("local repo has", localurl) - // check if go.wit.com works, if not, add it - // attempts to register the unknown repo - if gowit.Register(repo.GoPath(), localurl) { - // todo: check if this works - // s.unknownOL.Hide() - // s.unknownSubmitB.Hide() - } - } - }) - s.unknownOL.Disable() - s.unknownSubmitB.Disable() - s.grid.NextRow() - - return s -} - -// does not run any commands -func (s *patchSummary) Update() { - var total, totalgo, dirty, readonly int - var userT, develT, masterT int - // var userP, develP, masterP int - for _, repo := range repolist.AllRepos() { - total += 1 - if repo.Status.IsDirty() { - dirty += 1 - } - if repo.Status.IsGoLang() { - totalgo += 1 - } - if repo.Status.ReadOnly() { - readonly += 1 - // don't count these in any further stats - continue - } - // compute which GUI repos are out of sync with master - userV := repo.Status.GetUserVersion() - develV := repo.Status.GetDevelVersion() - masterV := repo.Status.GetMasterVersion() - lastV := repo.Status.GetLastTagVersion() - if userV != develV { - userT += 1 - } - if develV != masterV { - log.Info("develV != masterV", develV, masterV, repo.GoPath()) - develT += 1 - } - if masterV != lastV { - masterT += 1 - } - } - s.totalOL.SetText(strconv.Itoa(total) + " repos") - s.totalGoOL.SetText(strconv.Itoa(totalgo) + " repos") - s.dirtyOL.SetText(strconv.Itoa(dirty) + " repos") - s.readonlyOL.SetText(strconv.Itoa(readonly) + " repos") - - s.totalUserRepos.SetText(strconv.Itoa(userT) + " repos") - s.totalDevelRepos.SetText(strconv.Itoa(develT) + " repos") - s.totalMasterRepos.SetText(strconv.Itoa(masterT) + " repos") - - if dirty == 0 { - s.reason.Enable() - s.submitB.Enable() - s.unknownOL.Enable() - s.unknownSubmitB.Enable() - } else { - s.reason.Disable() - s.submitB.Enable() - s.unknownOL.Enable() - s.unknownSubmitB.Enable() - } -}