diff options
author | Kyungmin Bae <kyungmin.bae@devsisters.com> | 2020-05-24 02:29:58 +0900 |
---|---|---|
committer | Kyungmin Bae <kyungmin.bae@devsisters.com> | 2020-05-24 02:29:58 +0900 |
commit | 10199949b9e5a71f72241c4bb23f3d733287065c (patch) | |
tree | 52b3efdb1944d9c833522d32a0af5c4b275a3ab6 /plumbing/format/packfile/patch_delta.go | |
parent | 6d8103df45ce09ffd5323b4ef46d26440400a54f (diff) | |
download | go-git-10199949b9e5a71f72241c4bb23f3d733287065c.tar.gz |
Close Reader & Writer of EncodedObject after use
Diffstat (limited to 'plumbing/format/packfile/patch_delta.go')
-rw-r--r-- | plumbing/format/packfile/patch_delta.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/plumbing/format/packfile/patch_delta.go b/plumbing/format/packfile/patch_delta.go index 57c9da7..1dc8b8b 100644 --- a/plumbing/format/packfile/patch_delta.go +++ b/plumbing/format/packfile/patch_delta.go @@ -6,6 +6,7 @@ import ( "io" "github.com/go-git/go-git/v5/plumbing" + "github.com/go-git/go-git/v5/utils/ioutil" ) // See https://github.com/git/git/blob/49fa3dc76179e04b0833542fa52d0f287a4955ac/delta.h @@ -16,17 +17,21 @@ import ( const deltaSizeMin = 4 // ApplyDelta writes to target the result of applying the modification deltas in delta to base. -func ApplyDelta(target, base plumbing.EncodedObject, delta []byte) error { +func ApplyDelta(target, base plumbing.EncodedObject, delta []byte) (err error) { r, err := base.Reader() if err != nil { return err } + defer ioutil.CheckClose(r, &err) + w, err := target.Writer() if err != nil { return err } + defer ioutil.CheckClose(w, &err) + buf := bufPool.Get().(*bytes.Buffer) defer bufPool.Put(buf) buf.Reset() |