aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1124 from saracen/packfile-scanner-improved-readerMáximo Cuadros2019-04-233-105/+143
|\ | | | | plumbing: packfile/scanner, readability/performance improvements, zlib pooling
| * plumbing: packfile/scanner, readability/performance improvements, zlib poolingArran Walker2019-04-223-105/+143
| | | | | | | | Signed-off-by: Arran Walker <arran.walker@fiveturns.org>
* | Merge pull request #1123 from saracen/object-storage-open-packfileMáximo Cuadros2019-04-231-0/+5
|\ \ | | | | | | filesystem: ObjectStorage, MaxOpenDescriptors option
| * | filesystem: ObjectStorage, MaxOpenDescriptors optionArran Walker2019-04-221-0/+5
| |/ | | | | | | | | | | | | | | 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>
* | Merge pull request #1126 from saracen/index-performance-improvementsMáximo Cuadros2019-04-221-18/+19
|\ \ | | | | | | plumbing: format/index perf, buffered reads, reflection removal
| * | plumbing: format/index perf, buffered reads, reflection removalArran Walker2019-04-211-18/+19
| |/ | | | | | | | | | | | | | | | | | | 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>
* / plumbing: idxfile, avoid unnecessary building of reverse offset/hash mapFilip Navara2019-04-201-4/+26
|/ | | | Signed-off-by: Filip Navara <navara@emclient.com>
* packfile: get object size correctly for delta objectsJeremy Stribling2019-01-312-1/+27
| | | | Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* plumbing/packfile: test UpdateObjectStorage empty packfile errorJavi Fontan2018-12-031-0/+14
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* git: return better error message when packfile cannot be downloadedJavi Fontan2018-11-301-1/+7
| | | | | | | | 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>
* plumbing: format/packfile, performance optimizations for reading large ↵Filip Navara2018-11-285-33/+89
| | | | | | commit histories (#963) Signed-off-by: Filip Navara <navara@emclient.com>
* Merge pull request #1025 from mcuadros/eoiev4.8.0Máximo Cuadros2018-11-194-4/+122
|\ | | | | plumbing: format/index: support for EOIE extension
| * plumbing: format/index: support for EOIE extension, by default on git v2.2.0Máximo Cuadros2018-11-194-4/+122
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Merge pull request #994 from epiclabs-io/fix-thin-packMáximo Cuadros2018-11-162-47/+95
|\ \ | | | | | | plumbing/format/packfile: Fix broken "thin" packfile support. Fixes #991
| * | plumbing/format/packfile: Added thin pack testJavier Peletier2018-11-121-0/+50
| | | | | | | | | | | | Signed-off-by: Javier Peletier <jm@epiclabs.io>
| * | plumbing/format/packfile: Fix broken "thin" packfile support. Fixes #991Javier Peletier2018-10-231-47/+45
| |/ | | | | | | Signed-off-by: Javier Peletier <jm@epiclabs.io>
* / Remove unused method (#1022)Antonio Navarro Perez2018-11-161-56/+0
|/ | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* packfile: add comment on GetSizeByOffsetJeremy Stribling2018-10-151-0/+2
| | | | | | | Suggested by mcuadros. Issue: src-d/go-git#982 Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* object: get object size without reading whole objectJeremy Stribling2018-10-111-0/+16
| | | | Signed-off-by: Jeremy Stribling <strib@alum.mit.edu>
* all: remove extra 's' in "mismatch"Jongmin Kim2018-09-261-1/+1
| | | | Signed-off-by: Jongmin Kim <jmkim@pukyong.ac.kr>
* Merge pull request #932 from flant/fix-negative-range-infoMáximo Cuadros2018-09-102-2/+43
|\ | | | | Fix `fatal: corrupt patch` error in unified diff format
| * Fix fatal corrupt patch in unified diff formatAntonio Jesus Navarro Perez2018-09-072-2/+43
| | | | | | | | Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | Expose Storage cache.kuba--2018-09-071-4/+3
|/ | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* plumbing, storage: add bases to the common cacheJavi Fontan2018-08-222-0/+25
| | | | | | | | | | | | After clone only resolved deltas were added to the cache. This caused slowdowns in small repositories where most objects can be held in cache. It also makes packfiles reuse delta cache from the store. Previously it created a new delta cache each time a packfile object was created. This also slowed down a bit accessing objects and had an impact on memory consumption when bases are added to the cache. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: object iterators returns entries in offset orderJavi Fontan2018-08-213-1/+85
| | | | | | | | | | | In the latest change the order was changed from offset order in packfiles to hash order. This makes reading all the objects not as efficient as before. It also created problems when the previous order was expected. Also added EntriesByOffset to indexes. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Fixed an edge case for .gitignoreFedor Korotkov2018-08-192-0/+9
| | | | | | Fixes #923 Signed-off-by: Fedor Korotkov <fedor.korotkov@gmail.com>
* plumbing/packfile: do not compute sha1 for already undeltified objectsJavi Fontan2018-08-141-7/+9
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/pacfile: tidy up objectInfo structJavi Fontan2018-08-141-36/+22
| | | | | | | | * a new hasher is created when needed * delete unused fields * base content is no longer kept in memory Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing: add buffer cache and use it in packfile parserJavi Fontan2018-08-141-14/+10
| | | | | | | It uses less memory and is faster as slices don't have to be converted from/to MemoryObject and they are indexed by offset. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing: idxfile, Crc32 to CRC32 and return ok from findHashIndexMiguel Molina2018-08-104-23/+23
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, open and close packfile on FSObject readsMiguel Molina2018-08-095-56/+126
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, rename DiskObject to FSObjectMiguel Molina2018-08-092-15/+15
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, read object content only onceMiguel Molina2018-08-092-7/+40
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, add Parse benchmarkMiguel Molina2018-08-091-0/+30
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, allow non-seekable sources on ParserMiguel Molina2018-08-086-179/+229
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* *: use parser to populate non writable storages and bug fixesMiguel Molina2018-08-0711-1158/+491
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* Merge pull request #907 from erizocosmico/feature/fix-testsMiguel Molina2018-08-016-35/+116
|\ | | | | | | | | plumbing: packfile, fix package tests Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * plumbing: packfile, fix package testsMiguel Molina2018-07-305-33/+88
|/ | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing/packfile: add index generation to decoderJavi Fontan2018-07-271-7/+25
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: test FindHash and writer with 64 bit offsetsJavi Fontan2018-07-272-10/+107
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing: packfile, lazy object reads with DiskObjectsMiguel Molina2018-07-275-41/+304
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, new Packfile representationMiguel Molina2018-07-265-154/+418
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing, storage: integrate new indexJavi Fontan2018-07-262-9/+11
| | | | | | Now dotgit.PackWriter uses the new packfile.Parser and index. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: index is created only once and retrieved with IndexJavi Fontan2018-07-262-35/+70
| | | | | | Index is also automatically generated when OnFooter is called. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: add offset/hash mapping to indexJavi Fontan2018-07-261-0/+51
| | | | | | | This functionality may be moved elsewhere in the future but is needed now to fit filesystem.ObjectStorage and the new index. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: fix bug searching in MemoryIndexJavi Fontan2018-07-261-2/+2
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/packfile: preallocate memory in PatchDeltaJavi Fontan2018-07-261-1/+1
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: support offset64 generating indexesJavi Fontan2018-07-262-5/+65
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing/idxfile: use Entry to hold object dataJavi Fontan2018-07-261-16/+11
| | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
* plumbing: idxfile, add idxfile.Writer with Observer interfaceJavi Fontan2018-07-261-0/+132
| | | | | | | | | It's still not complete: * 64 bit offsets * IdxChecksum Signed-off-by: Javi Fontan <jfontan@gmail.com>