aboutsummaryrefslogtreecommitdiff
path: root/vendor
diff options
context:
space:
mode:
Diffstat (limited to 'vendor')
-rw-r--r--vendor/github.com/gogits/git-module/blob.go13
-rw-r--r--vendor/vendor.json6
2 files changed, 12 insertions, 7 deletions
diff --git a/vendor/github.com/gogits/git-module/blob.go b/vendor/github.com/gogits/git-module/blob.go
index 478682e7..7731226d 100644
--- a/vendor/github.com/gogits/git-module/blob.go
+++ b/vendor/github.com/gogits/git-module/blob.go
@@ -18,11 +18,16 @@ type Blob struct {
// Data gets content of blob all at once and wrap it as io.Reader.
// This can be very slow and memory consuming for huge content.
func (b *Blob) Data() (io.Reader, error) {
- stdout, err := NewCommand("show", b.ID.String()).RunInDirBytes(b.repo.Path)
- if err != nil {
- return nil, err
+ stdout := new(bytes.Buffer)
+ stderr := new(bytes.Buffer)
+
+ // Preallocate memory to save ~50% memory usage on big files.
+ stdout.Grow(int(b.Size() + 2048))
+
+ if err := b.DataPipeline(stdout, stderr); err != nil {
+ return nil, concatenateError(err, stderr.String())
}
- return bytes.NewBuffer(stdout), nil
+ return stdout, nil
}
func (b *Blob) DataPipeline(stdout, stderr io.Writer) error {
diff --git a/vendor/vendor.json b/vendor/vendor.json
index 9b4e6a3a..34b860fd 100644
--- a/vendor/vendor.json
+++ b/vendor/vendor.json
@@ -183,10 +183,10 @@
"revisionTime": "2016-08-10T03:50:02Z"
},
{
- "checksumSHA1": "baBdY7sA0U60da7wfhIialHmMwU=",
+ "checksumSHA1": "uKdOeK8zCfl5p7pZTRiZqDO2Tns=",
"path": "github.com/gogits/git-module",
- "revision": "5cc36acd9bc119acc0376a4db452e8ce55451c9f",
- "revisionTime": "2017-11-16T18:10:54Z"
+ "revision": "e76267f9b4e90e15a82189b72aae8bf1c799c52a",
+ "revisionTime": "2018-03-02T07:13:32Z"
},
{
"checksumSHA1": "GBfb+meRaVNarQavLB/bzbDoBtY=",