summaryrefslogtreecommitdiff
path: root/doMerge.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-08-28 16:28:48 -0500
committerJeff Carr <[email protected]>2025-08-28 19:30:59 -0500
commit86ac85dd5b5432ca3d1ff935b6ff6582ba37c287 (patch)
treeb781c9f970f153a191353ee1192b12ac9b082d25 /doMerge.go
parent684c5b1dad1ebaa6a9443641e65e2789c3c85911 (diff)
update auto complete. merge is smarter
Diffstat (limited to 'doMerge.go')
-rw-r--r--doMerge.go40
1 files changed, 27 insertions, 13 deletions
diff --git a/doMerge.go b/doMerge.go
index be34b8f..3362c9d 100644
--- a/doMerge.go
+++ b/doMerge.go
@@ -5,6 +5,7 @@ import (
"os"
"path/filepath"
+ "github.com/google/uuid"
"go.wit.com/lib/protobuf/forgepb"
"go.wit.com/log"
"google.golang.org/protobuf/proto"
@@ -12,7 +13,11 @@ import (
func doMerge() error {
if err := loadConfigfile(); err != nil {
- return err
+ if argv.Force == true {
+ me.all = forgepb.NewPatchsets()
+ } else {
+ return err
+ }
}
mergePatchsets()
@@ -24,30 +29,39 @@ func doMerge() error {
return nil
}
-// adds submitted patches not specifically assigned to a patchset
-// to the generic patchset called "forge auto commit"
-func addRandomPatch(patch *forgepb.Patch) error {
- var fauto *forgepb.Patchset
+func findAutoPatchset() *forgepb.Patchset {
- // ignore patch if it's already here
- if findPatch(patch) {
- log.Info("already found patch", patch.CommitHash, patch.Namespace)
- return nil
- }
for pset := range me.all.IterAll() {
if pset.Name == "forge auto commit" {
- fauto = pset
+ return pset
break
}
}
+ var fauto *forgepb.Patchset
+ log.Warn("findAutoPatchset() had to create 'forge auto commit'")
if fauto == nil {
fauto = new(forgepb.Patchset)
fauto.Name = "forge auto commit"
fauto.Patches = forgepb.NewPatches()
+ fauto.Uuid = uuid.New().String()
me.all.Patchsets = append(me.all.Patchsets, fauto)
- log.Warn("had to create 'forge auto commit' patchset")
- // return log.Errorf("no default place yet")
+ }
+ return fauto
+}
+
+// adds submitted patches not specifically assigned to a patchset
+// to the generic patchset called "forge auto commit"
+func addRandomPatch(patch *forgepb.Patch) error {
+
+ // ignore patch if it's already here
+ if findPatch(patch) {
+ log.Info("already found patch", patch.CommitHash, patch.Namespace)
+ return nil
+ }
+ fauto := findAutoPatchset()
+ if fauto == nil {
+ return log.Errorf("no default place yet")
}
newpb := proto.Clone(patch).(*forgepb.Patch)
if newpb == nil {