func (r *GitUploadPackInfo) Bytes() []byte { e := pktline.NewEncoder() e.AddLine("# service=git-upload-pack") e.AddFlush() e.AddLine(fmt.Sprintf("%s HEAD\x00%s", r.Head, r.Capabilities.String())) for name, id := range r.Refs { e.AddLine(fmt.Sprintf("%s %s", id, name)) } e.AddFlush() b, _ := ioutil.ReadAll(e.Reader()) return b }
func (r *GitUploadPackRequest) Reader() *strings.Reader { e := pktline.NewEncoder() for _, want := range r.Wants { e.AddLine(fmt.Sprintf("want %s", want)) } for _, have := range r.Haves { e.AddLine(fmt.Sprintf("have %s", have)) } e.AddFlush() e.AddLine("done") return e.Reader() }