From 1da989e28b04807fb9781c3198769630ccb9a0fd Mon Sep 17 00:00:00 2001 From: Axel Wagner Date: Thu, 16 May 2013 14:02:22 +0200 Subject: [PATCH] Add Write(w io.Writer) to packbuilder This wraps (*packbuilder).ForEach(), making it possible to write the pack easiliy to a tcp-connection, a HTTP-Body or the like. --- packbuilder.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packbuilder.go b/packbuilder.go index 40b2c81..6228e12 100644 --- a/packbuilder.go +++ b/packbuilder.go @@ -74,6 +74,17 @@ func (pb *Packbuilder) WriteToFile(name string) error { return nil } +func (pb *Packbuilder) Write(w io.Writer) error { + ch := pb.Foreach() + for _, slice := range ch { + _, err := w.Write(slice) + if err != nil { + return err + } + } + return nil +} + func (pb *Packbuilder) Written() uint32 { return uint32(C.git_packbuilder_written(pb.ptr)) }