From e4c3aafb7b48ee44b677ee6e5d244ad85aecf985 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 13 Feb 2024 13:33:04 -0600 Subject: more accurate name Signed-off-by: Jeff Carr --- main.go | 2 +- pkgsite.go | 2 +- submitPatches.go | 134 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ summaryBox.go | 127 ---------------------------------------------------- 4 files changed, 136 insertions(+), 129 deletions(-) create mode 100644 submitPatches.go delete mode 100644 summaryBox.go diff --git a/main.go b/main.go index 87e2c3e..e070b65 100644 --- a/main.go +++ b/main.go @@ -33,7 +33,7 @@ func main() { vbox2 := box.NewVerticalBox("BOX2") globalBuildOptions(vbox2) - me.summary = summaryBox(vbox2) + me.summary = submitPatchesBox(vbox2) globalResetOptions(box) diff --git a/pkgsite.go b/pkgsite.go index 6656c39..db61518 100644 --- a/pkgsite.go +++ b/pkgsite.go @@ -6,8 +6,8 @@ import ( "path/filepath" "go.wit.com/gui" - "go.wit.com/log" "go.wit.com/lib/gui/shell" + "go.wit.com/log" ) func docsBox(vbox *gui.Node) { diff --git a/submitPatches.go b/submitPatches.go new file mode 100644 index 0000000..510479c --- /dev/null +++ b/submitPatches.go @@ -0,0 +1,134 @@ +package main + +import ( + "strconv" + "strings" + + "go.wit.com/gui" + "go.wit.com/lib/gadgets" + "go.wit.com/lib/gui/repostatus" + "go.wit.com/log" +) + +type develSummary struct { + grid *gui.Node + updateB *gui.Node + docsB *gui.Node + + totalOL *gadgets.OneLiner + dirtyOL *gadgets.OneLiner + readonlyOL *gadgets.OneLiner + totalPatchesOL *gadgets.OneLiner + + allp []*patch +} + +func submitPatchesBox(box *gui.Node) *develSummary { + s := new(develSummary) + group1 := box.NewGroup("Submit Patches Summary") + s.grid = group1.RawGrid() + + s.updateB = s.grid.NewButton("Update Stats", func() { + // globalDisplaySetRepoState() + // reposwin.Toggle() + s.Update() + }) + + s.updateB = s.grid.NewButton("List Patches", func() { + for i, p := range s.allp { + log.Info(i, p.ref, p.rs.String()) + } + }) + + s.updateB = s.grid.NewButton("Check repos are working", func() { + for _, repo := range me.allrepos { + log.Info("Check repo here:", repo.String()) + return + } + }) + + s.grid.NextRow() + + s.totalOL = gadgets.NewOneLiner(s.grid, "Total") + 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.totalPatchesOL = gadgets.NewOneLiner(s.grid, "total commits") + s.grid.NextRow() + + return s +} + +func (s *develSummary) Update() { + var total, dirty, readonly int + for _, repo := range me.allrepos { + total += 1 + if repo.status.CheckDirty() { + dirty += 1 + } + if repo.status.ReadOnly() { + readonly += 1 + } + } + s.totalOL.SetText(strconv.Itoa(total) + " repos") + s.dirtyOL.SetText(strconv.Itoa(dirty) + " repos") + s.readonlyOL.SetText(strconv.Itoa(readonly) + " repos") + + p, allp := s.GetPatches() + if s.allp == nil { + s.allp = make([]*patch, 0, 0) + s.allp = append(s.allp, allp...) + } + if dirty == 0 { + s.totalPatchesOL.SetText(strconv.Itoa(p) + " patches") + } else { + s.totalPatchesOL.SetText(strconv.Itoa(p) + " patches + ? dirty") + } +} + +type patch struct { + ref string + comment string + rs *repostatus.RepoStatus +} + +func (s *develSummary) GetPatches() (int, []*patch) { + var patchcount int + patches := make([]*patch, 0, 0) + for _, repo := range me.allrepos { + // git log --oneline devel..jcarr + userv := repo.status.GetUserVersion() + develv := repo.status.GetDevelVersion() + usern := repo.status.GetUserBranchName() + develn := repo.status.GetDevelBranchName() + if userv == develv { + // log.Info("skipping unchanged repo", repo.String()) + } else { + // log.Info("repo userv, develv", userv, develv) + gitcmd := []string{"git", "log", "--oneline", develn + ".." + usern} + // log.Info("Run:", gitcmd) + err, output := repo.status.RunCmd(gitcmd) + if err == nil { + // patches := strings.Split(output, "\n") + for _, line := range strings.Split(output, "\n") { + parts := strings.Split(line, " ") + newp := new(patch) + newp.rs = repo.status + newp.ref = parts[0] + newp.comment = strings.Join(parts[1:], " ") + log.Info("patch:", line, newp.rs.String()) + patchcount += 1 + patches = append(patches, newp) + } + } else { + log.Info("git failed err=", err) + } + } + } + return patchcount, patches +} diff --git a/summaryBox.go b/summaryBox.go deleted file mode 100644 index c40ba2b..0000000 --- a/summaryBox.go +++ /dev/null @@ -1,127 +0,0 @@ -package main - -import ( - "strconv" - "strings" - - "go.wit.com/gui" - "go.wit.com/lib/gadgets" - "go.wit.com/lib/gui/repostatus" - "go.wit.com/log" -) - -type develSummary struct { - grid *gui.Node - updateB *gui.Node - docsB *gui.Node - - totalOL *gadgets.OneLiner - dirtyOL *gadgets.OneLiner - readonlyOL *gadgets.OneLiner - totalPatchesOL *gadgets.OneLiner - - allp []*patch -} - -func summaryBox(box *gui.Node) *develSummary { - s := new(develSummary) - group1 := box.NewGroup("Development Branch Summary") - s.grid = group1.RawGrid() - - s.updateB = s.grid.NewButton("Update Stats", func() { - // globalDisplaySetRepoState() - // reposwin.Toggle() - s.Update() - }) - - s.updateB = s.grid.NewButton("List 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.dirtyOL = gadgets.NewOneLiner(s.grid, "dirty") - s.grid.NextRow() - - s.readonlyOL = gadgets.NewOneLiner(s.grid, "read-only") - s.grid.NextRow() - - s.totalPatchesOL = gadgets.NewOneLiner(s.grid, "total commits") - s.grid.NextRow() - - return s -} - -func (s *develSummary) Update() { - var total, dirty, readonly int - for _, repo := range me.allrepos { - total += 1 - if repo.status.CheckDirty() { - dirty += 1 - } - if repo.status.ReadOnly() { - readonly += 1 - } - } - s.totalOL.SetText(strconv.Itoa(total) + " repos") - s.dirtyOL.SetText(strconv.Itoa(dirty) + " repos") - s.readonlyOL.SetText(strconv.Itoa(readonly) + " repos") - - p, allp := s.GetPatches() - if s.allp == nil { - s.allp = make([]*patch, 0, 0) - s.allp = append(s.allp, allp...) - } - if dirty == 0 { - s.totalPatchesOL.SetText(strconv.Itoa(p) + " patches") - } else { - s.totalPatchesOL.SetText(strconv.Itoa(p) + " patches + ? dirty") - } -} - -type patch struct { - ref string - comment string - rs *repostatus.RepoStatus -} - -func (s *develSummary) GetPatches() (int, []*patch) { - var patchcount int - patches := make([]*patch, 0, 0) - for _, repo := range me.allrepos { - // git log --oneline devel..jcarr - userv := repo.status.GetUserVersion() - develv := repo.status.GetDevelVersion() - usern := repo.status.GetUserBranchName() - develn := repo.status.GetDevelBranchName() - if userv == develv { - // log.Info("skipping unchanged repo", repo.String()) - } else { - // log.Info("repo userv, develv", userv, develv) - gitcmd := []string{"git", "log", "--oneline", develn + ".." + usern} - // log.Info("Run:", gitcmd) - err, output := repo.status.RunCmd(gitcmd) - if err == nil { - // patches := strings.Split(output, "\n") - for _, line := range strings.Split(output, "\n") { - parts := strings.Split(line, " ") - newp := new(patch) - newp.rs = repo.status - newp.ref = parts[0] - newp.comment = strings.Join(parts[1:], " ") - log.Info("patch:", line, newp.rs.String()) - patchcount += 1 - patches = append(patches, newp) - } - } else { - log.Info("git failed err=", err) - } - } - } - return patchcount, patches -} -- cgit v1.2.3