| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two problems are fixed:
- Buffers are not returned to the pool in the case of errors.
- Per https://golang.org/pkg/bytes/#Buffer.Bytes, the slice returned
from bytes.Buffer.Bytes() is only valid until the next modification
of the buffer, so it must be copied before the buffer is returned to the pool.
Running `go test -race` detected the following:
```
==================
WARNING: DATA RACE
Write at 0x00c000224020 by goroutine 15:
bytes.(*Buffer).WriteByte()
/usr/local/Cellar/go/1.11.5/libexec/src/bytes/buffer.go:271 +0xc8
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.diffDelta()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/diff_delta.go:95 +0x505
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.getDelta()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/diff_delta.go:60 +0x4ae
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).tryToDeltify()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:309 +0x398
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).walk()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:262 +0x33b
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack.func1()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:70 +0x6a
Previous read at 0x00c000224020 by goroutine 8:
runtime.slicecopy()
/usr/local/Cellar/go/1.11.5/libexec/src/runtime/slice.go:221 +0x0
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.getDelta()
vendor/gopkg.in/src-d/go-git.v4/plumbing/memory.go:53 +0x5e2
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).tryToDeltify()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:309 +0x398
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).walk()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:262 +0x33b
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack.func1()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:70 +0x6a
Goroutine 15 (running) created at:
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:69 +0x761
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*Encoder).Encode()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/encoder.go:52 +0xb1
vendor/gopkg.in/src-d/go-git%2ev4.pushHashes.func1()
vendor/gopkg.in/src-d/go-git.v4/remote.go:1026 +0x102
Goroutine 8 (finished) created at:
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*deltaSelector).ObjectsToPack()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/delta_selector.go:69 +0x761
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile.(*Encoder).Encode()
vendor/gopkg.in/src-d/go-git.v4/plumbing/format/packfile/encoder.go:52 +0xb1
vendor/gopkg.in/src-d/go-git%2ev4.pushHashes.func1()
vendor/gopkg.in/src-d/go-git.v4/remote.go:1026 +0x102
==================
```
Signed-off-by: Ed Bardsley <ewb@uber.com>
|
|
|
|
| |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
|
|
|
| |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
|\
| |
| | |
plumbing: format/idxfile, avoid creating temporary buffers to decode integers
|
| |
| |
| |
| |
| |
| | |
iterator twice
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| |
| |
| |
| |
| |
| | |
using iterator and not loading CRC
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| |
| |
| |
| |
| |
| | |
by git more closely
Signed-off-by: Filip Navara <navara@emclient.com>
|
|/
|
|
| |
Signed-off-by: Filip Navara <navara@emclient.com>
|
|\
| |
| | |
plumbing: format/gitattributes support
|
| |
| |
| |
| |
| |
| | |
Implements gitattributes parsing, matching and attribute extraction.
Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
|
|\ \
| | |
| | | |
plumbing: format/commitgraph, add APIs for reading and writing commit-graph files
|
| | |
| | |
| | |
| | |
| | |
| | | |
file binary identical
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
files
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
|\ \ \
| |/ /
|/| | |
plumbing: packfile, apply small object reading optimization also for delta objects
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
FSObject
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
used by getNextObject in the subsequent statement
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
plumbing.AnyObject
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
new one
Signed-off-by: Filip Navara <filip.navara@gmail.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Filip Navara <navara@emclient.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
objects
Signed-off-by: Filip Navara <navara@emclient.com>
|
|\ \ \
| |_|/
|/| | |
plumbing: packfile/scanner, readability/performance improvements, zlib pooling
|
| |/
| |
| |
| | |
Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
|
|\ \
| | |
| | | |
filesystem: ObjectStorage, MaxOpenDescriptors option
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The MaxOpenDescriptors option provides a middle ground solution between keeping
all packfiles open (as offered by the KeepDescriptors option) and keeping none
open.
Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
|
|\ \
| | |
| | | |
plumbing: format/index perf, buffered reads, reflection removal
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Large performance increase by buffering reads.
There were a few instances where binary.Read() would end up using reflection on
&plumbing.Hash, rather than treating it as a byte slice. This has now been
resolved.
Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
|
|/
|
|
| |
Signed-off-by: Filip Navara <navara@emclient.com>
|
|
|
|
| |
Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
|
|
|
|
| |
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
|
|
| |
Previously the error message when the connection was closed while
fetching was "object not found" and was misleading. Now when the
packfile size is 0 the error "unable to fetch packfile" is returned.
Signed-off-by: Javi Fontan <jfontan@gmail.com>
|
|
|
|
|
|
| |
commit histories (#963)
Signed-off-by: Filip Navara <navara@emclient.com>
|
|\
| |
| | |
plumbing: format/index: support for EOIE extension
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
|\ \
| | |
| | | |
plumbing/format/packfile: Fix broken "thin" packfile support. Fixes #991
|
| | |
| | |
| | |
| | | |
Signed-off-by: Javier Peletier <jm@epiclabs.io>
|
| |/
| |
| |
| | |
Signed-off-by: Javier Peletier <jm@epiclabs.io>
|
|/
|
| |
Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
|
|
|
|
|
|
|
| |
Suggested by mcuadros.
Issue: src-d/go-git#982
Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
|
|
|
|
| |
Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
|
|
|
|
| |
Signed-off-by: Jongmin Kim <jmkim@pukyong.ac.kr>
|