summaryrefslogtreecommitdiff
path: root/patchset.Send.go
diff options
context:
space:
mode:
Diffstat (limited to 'patchset.Send.go')
-rw-r--r--patchset.Send.go38
1 files changed, 38 insertions, 0 deletions
diff --git a/patchset.Send.go b/patchset.Send.go
index 00fe37e..b3d4a96 100644
--- a/patchset.Send.go
+++ b/patchset.Send.go
@@ -5,6 +5,7 @@ package forgepb
import (
"errors"
+ "strings"
"time"
"go.wit.com/log"
@@ -25,3 +26,40 @@ func (f *Forge) SendPatchSet(pset *Patchset) error {
return errors.New("don't know how to send yet")
}
+
+func (f *Forge) SubmitDevelPatchSet(name string) (*Patchset, error) {
+ pset, err := f.MakeDevelPatchSet(name)
+ if err != nil {
+ return nil, err
+ }
+ if err := f.submitPatchset(pset); err != nil {
+ return nil, err
+ }
+ return pset, nil
+}
+
+func (f *Forge) submitPatchset(pset *Patchset) error {
+ var url string
+ url = forgeURL + "patchset"
+ msg, err := pset.Marshal()
+ if err != nil {
+ log.Info("proto.Marshal() failed:", err)
+ return err
+ }
+ log.Info("proto.Marshal() msg len", len(msg))
+ body, err := f.HttpPost(url, msg)
+ if err != nil {
+ log.Info("httpPost() failed:", err)
+ return err
+ }
+
+ test := strings.TrimSpace(string(body))
+ lines := strings.Split(test, "\n")
+ count := 0
+ for _, line := range lines {
+ log.Info("got back:", line)
+ count += 1
+ }
+ log.Info("Total patches:", count)
+ return nil
+}