From 16a6c8b11ae51c693011e7d107adb15e99d4fe54 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Sat, 28 Dec 2024 19:36:03 -0600 Subject: [PATCH] attempt again --- 0001-start-work-on-an-applyPatch.patch | 154 ------------------------- Makefile | 2 +- 2 files changed, 1 insertion(+), 155 deletions(-) delete mode 100644 0001-start-work-on-an-applyPatch.patch diff --git a/0001-start-work-on-an-applyPatch.patch b/0001-start-work-on-an-applyPatch.patch deleted file mode 100644 index 263a36c..0000000 --- a/0001-start-work-on-an-applyPatch.patch +++ /dev/null @@ -1,154 +0,0 @@ -From a957c22f8b63f390fc4289b93a84e921e5c3d64d Mon Sep 17 00:00:00 2001 -From: Jeff Carr -Date: Fri, 27 Dec 2024 22:27:19 -0600 -Subject: [PATCH] start work on an applyPatch() - ---- - Makefile | 5 ++++- - applyPatch.go | 35 +++++++++++++++++++++++++++++++++++ - argv.go | 9 +++++---- - main.go | 11 +++++++++++ - send.go | 13 +++++++++++++ - 5 files changed, 68 insertions(+), 5 deletions(-) - create mode 100644 applyPatch.go - -diff --git a/Makefile b/Makefile -index 409761e..3d6ef21 100644 ---- a/Makefile -+++ b/Makefile -@@ -64,7 +64,7 @@ mine: install - all: install - forge list --all - --patches: install -+patches-make: install - forge --patchset "from makefile" - - localhost-patches: install -@@ -73,6 +73,9 @@ localhost-patches: install - patches-list: install - forge --list-patchset - -+patches-apply-213058: install -+ forge --apply /tmp/2024.12.27.213058.submitted.pb -+ - dirty: install - forge dirty --all - -diff --git a/applyPatch.go b/applyPatch.go -new file mode 100644 -index 0000000..9dccc6c ---- /dev/null -+++ b/applyPatch.go -@@ -0,0 +1,35 @@ -+// Copyright 2024 WIT.COM Inc Licensed GPL 3.0 -+ -+package main -+ -+import ( -+ "os" -+ -+ "go.wit.com/lib/protobuf/forgepb" -+ "go.wit.com/log" -+) -+ -+func applyPatches(pset *forgepb.Patchs) error { -+ all := pset.SortByFilename() -+ for all.Scan() { -+ p := all.Next() -+ log.Info("pset filename", p.Filename) -+ } -+ return nil -+} -+ -+func readPatchFile(pbfile string) (*forgepb.Patchs, error) { -+ bytes, err := os.ReadFile(pbfile) -+ if err != nil { -+ log.Info("readfile error", pbfile, err) -+ return nil, err -+ } -+ var pset *forgepb.Patchs -+ pset = new(forgepb.Patchs) -+ err = pset.Unmarshal(bytes) -+ if err != nil { -+ log.Info("Unmarshal failed", pbfile, err) -+ return nil, err -+ } -+ return pset, nil -+} -diff --git a/argv.go b/argv.go -index 7c19ed4..5b90fc4 100644 ---- a/argv.go -+++ b/argv.go -@@ -28,10 +28,11 @@ type args struct { - Delete string `arg:"--delete" help:"delete this repo"` - URL string `arg:"--connect" help:"gowebd url"` - Register string `arg:"--register" help:"register your git URL (foo.com/mystuff) or (github.com/foo/bar)"` -- GitReset bool `arg:"--git-reset" help:"run 'git reset --hard'"` -- Scan bool `arg:"--scan" help:"reload protobuf from .git/"` -- Force bool `arg:"--force" help:"force redo things"` -- PatchSet string `arg:"--patchset" help:"make patch set"` -+ GitReset bool `arg:"--git-reset" help:"run 'git reset --hard'"` -+ Scan bool `arg:"--scan" help:"reload protobuf from .git/"` -+ Force bool `arg:"--force" help:"force redo things"` -+ PatchSet string `arg:"--patchset" help:"make patch set"` -+ Apply string `arg:"--apply" help:"apply a patch set"` - } - - func (args) Version() string { -diff --git a/main.go b/main.go -index 1c2db96..25e801e 100644 ---- a/main.go -+++ b/main.go -@@ -76,6 +76,17 @@ func main() { - } - } - -+ if argv.Apply != "" { -+ pset, err := readPatchFile(argv.Apply) -+ if err != nil { -+ badExit(err) -+ } -+ if err = applyPatches(pset); err == nil { -+ okExit("applied patch ok") -+ } -+ badExit(err) -+ } -+ - if argv.Delete != "" { - me.forge.DeleteByGoPath(argv.Delete) - me.forge.SetConfigSave(true) -diff --git a/send.go b/send.go -index 900b3b3..67fec90 100644 ---- a/send.go -+++ b/send.go -@@ -3,6 +3,8 @@ - package main - - import ( -+ "os" -+ "path/filepath" - "strings" - - "go.wit.com/lib/protobuf/forgepb" -@@ -77,6 +79,17 @@ func getPatch(pbfile string) error { - return err - } - log.Info("getPatch() len(body)", len(body)) -+ var pset *forgepb.Patchs -+ pset = new(forgepb.Patchs) -+ err = pset.Unmarshal(body) -+ if err != nil { -+ 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() - return nil - } - --- -2.45.2 - diff --git a/Makefile b/Makefile index a551286..a482324 100644 --- a/Makefile +++ b/Makefile @@ -70,7 +70,7 @@ patches-make: install localhost-patches: install forge --patchset "test-localhost" --url "http://localhost:2233/" -patches-list: install patches-make +patches-list: install forge --list-patchset patches-apply-230233: install