diff options
Diffstat (limited to 'patchset.Send.go')
| -rw-r--r-- | patchset.Send.go | 38 |
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 +} |
