From d6cd7fc88f4bf0bb6069a2ceecef5523fddf836f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 3 Sep 2025 20:50:54 -0500 Subject: [PATCH] append patches to local patches file --- humanTable.go | 6 +++--- patchset.Get.go | 31 ++++++++++++++++++++----------- patchset.config.go | 20 +++++++++++++------- 3 files changed, 36 insertions(+), 21 deletions(-) diff --git a/humanTable.go b/humanTable.go index 6bd4717..9516d3f 100644 --- a/humanTable.go +++ b/humanTable.go @@ -330,8 +330,8 @@ func (psets *Patchsets) PrintTable() { log.DaemonMode(true) // print the header - args := []string{"commit hash", "", "", "name", "Repo Namespace", "", "", "", "", ""} - sizes := []int{36, 3, 3, 40, 80, 2, 2, 2, 2, 2} + args := []string{"commit hash", "new hash", "", "", "name", "Repo Namespace", "", "", "", "", ""} + sizes := []int{12, 12, 3, 3, 40, 80, 2, 2, 2, 2} log.Info(cobol.StandardTableSize10(sizes, args)) var countCONTENTS int @@ -345,7 +345,7 @@ func (psets *Patchsets) PrintTable() { partId := log.Sprintf("%d", i) _, fname := filepath.Split(p.GetFilename()) - args = []string{p.CommitHash, cId, partId, fname, p.GetNamespace(), "", "", "", "", ""} + args = []string{p.CommitHash, p.NewHash, cId, partId, fname, p.GetNamespace(), "", "", "", "", ""} start := cobol.StandardTableSize10(sizes, args) log.Info(start) diff --git a/patchset.Get.go b/patchset.Get.go index 5904914..3f4123a 100644 --- a/patchset.Get.go +++ b/patchset.Get.go @@ -23,12 +23,6 @@ func (f *Forge) GetPatches() error { log.Info("Unmarshal failed", err) return err } - /* - filename := filepath.Join("/tmp", pbfile) - f, _ := os.OpenFile(filename, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644) - f.Write(body) - f.Close() - */ psets.PrintTable() f.loadUpstreamPatchsets(psets) return nil @@ -40,6 +34,7 @@ func (f *Forge) loadUpstreamPatchsets(psets *Patchsets) { for all.Scan() { pset := all.Next() found := f.Patchsets.FindByUuid(pset.Uuid) + author := log.Sprintf("Author: %s <%s>", found.GitAuthorName, found.GitAuthorEmail) if found == nil { log.Info("new patchset", pset.Name, pset.Uuid) pset.State = "new" @@ -52,13 +47,27 @@ func (f *Forge) loadUpstreamPatchsets(psets *Patchsets) { log.Warn("OH NO! f.Patchsets == nil") continue } + log.Warn("appending pset", pset.Uuid, pset.State, pset.Name) f.Patchsets.Append(pset) - } else { - log.Info("patchset already on disk", found.Name, found.State) - pset.State = found.State - if pset.State == "" { - pset.State = "new" + continue + } + log.Info("EXAMINE PSET", pset.Name, pset.Uuid, pset.Patches.Len()) + for _, patch := range pset.Patches.Patches { + // log.Info("\tnew patch:", i, patch.CommitHash, patch.Namespace) + if f.findPatch(patch) { + // log.Info("\talready found!!!!!!!", pset.Uuid, patch.Namespace) + continue } + if err := f.addRandomPatch(patch); err == nil { + log.Info("\tnew patch added:", patch.CommitHash, found.Name, found.Comment, author) + foundnew = true + } else { + log.Info("\tnew patch failed:", patch.CommitHash, found.Name, found.Comment, author, err) + } + } + pset.State = found.State + if pset.State == "" { + pset.State = "new" } } if foundnew { diff --git a/patchset.config.go b/patchset.config.go index a151095..ed5853b 100644 --- a/patchset.config.go +++ b/patchset.config.go @@ -84,26 +84,30 @@ func (pb *Patchset) ShowPatchsets() error { } // adds a patchset or just the patches -func (f *Forge) AddPatchset(pb *Patchset) { +func (f *Forge) AddPatchset(pb *Patchset) bool { + var changed bool // if the name of the patchset is "forge auto commit" // then just add all the patches if pb.Name == "forge auto commit" { author := "Author: " + pb.GitAuthorName author += " <" + pb.GitAuthorEmail + ">" - // author := "Author: " + os.Getenv("GIT_AUTHOR_NAME") - // author += " <" + os.Getenv("GIT_AUTHOR_EMAIL") + ">" fmt.Println(pb.Name, pb.Comment, author) for _, patch := range pb.Patches.Patches { // log.Info("\tnew patch:", i, patch.CommitHash, patch.Namespace) if f.findPatch(patch) { // log.Info("\talready found!!!!!!!", pset.Uuid, patch.Namespace) } else { - log.Info("\tnew patch:", pb.Name, pb.Comment, author) - f.addRandomPatch(patch) + if err := f.addRandomPatch(patch); err == nil { + log.Info("\tnew patch added:", patch.CommitHash, pb.Name, pb.Comment, author) + changed = true + } else { + log.Info("\tnew patch failed:", patch.CommitHash, pb.Name, pb.Comment, author, err) + } + } } - return + return changed } // if you got here, this patchset was submitted with a name @@ -112,7 +116,8 @@ func (f *Forge) AddPatchset(pb *Patchset) { for pset := range f.Patchsets.IterAll() { if pset.Uuid == pb.Uuid { log.Info("ALREADY ADDED", pset.Uuid, pset.Name) - return + return false + } else { } } @@ -122,6 +127,7 @@ func (f *Forge) AddPatchset(pb *Patchset) { if newpb != nil { f.Patchsets.Patchsets = append(f.Patchsets.Patchsets, newpb) } + return true } func (f *Forge) findAutoPatchset() *Patchset {