aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format/idxfile
Commit message (Collapse)AuthorAgeFilesLines
* sha1: Add collision resistent implementationPaulo Gomes2022-11-251-3/+3
| | | | | | | | | | | | | | | | | | | Implement the same SHA1 collision resistent algorithm used by both the Git CLI and libgit2. Only commits with input that match the unavoidable bit conditions will be further processed, which will result in different hashes. Which is the same behaviour experienced in the Git CLI and Libgit2. Users can override the hash algorithm used with: hash.RegisterHash(crypto.SHA1, sha1.New) xref links: https://github.com/libgit2/libgit2/pull/4136/commits/2dfd1294f7a694bfa9e864a9489ae3cb318a5ed0 https://github.com/git/git/commit/28dc98e343ca4eb370a29ceec4c19beac9b5c01e Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* error strings: Don't capitalize, use periods, or newlinesAbhinav Gupta2021-12-041-2/+2
| | | | | | | | | | | | | | | | | | | | | Per [Go Code Review Comments][1], > Error strings should not be capitalized (unless beginning with proper > nouns or acronyms) or end with punctuation staticcheck's [ST1005][2] also complains about these. For example, ``` object_walker.go:63:10: error strings should not be capitalized (ST1005) object_walker.go:101:10: error strings should not be capitalized (ST1005) object_walker.go:101:10: error strings should not end with punctuation or a newline (ST1005) plumbing/format/commitgraph/file.go:17:26: error strings should not be capitalized (ST1005) ``` This fixes all instances of this issue reported by staticcheck. [1]: https://github.com/golang/go/wiki/CodeReviewComments#error-strings [2]: https://staticcheck.io/docs/checks/#ST1005
* fix goreportcard warningsOleg Kovalov2020-07-013-3/+3
|
* ci: based on github actionsv5.0.0Máximo Cuadros2020-03-151-5/+1
|
* *: migration from go-git-fixtures/v4 and go-git/gcfgMáximo Cuadros2020-03-104-9/+5
|
* *: migration from gopkg to go modulesMáximo Cuadros2020-03-108-13/+13
|
* Fix typos in comments, variables and function namesOleksandr Redko2019-10-241-1/+1
| | | | Signed-off-by: Oleksandr Redko <oleksandr.red+github@gmail.com>
* *: avoid unnecessary conversionsChristian Muehlhaeuser2019-07-291-1/+1
| | | | | | | No need to convert these values, they're already of the right type. Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit a1d8a7ac8bd0e4aff0f27dbb8bb37b8bd13a1346)
* plumbing/format: idxfile, unsigned values are never < 0Christian Muehlhaeuser2019-07-291-4/+0
| | | | | Signed-off-by: Christian Muehlhaeuser <muesli@gmail.com> (cherry picked from commit 047bb4f6d0657389ddd4ca3230ff3bee08d66a6b)
* plumbing: format/idxfile, avoid looking up the fanout mapping in the ↵Filip Navara2019-04-261-10/+7
| | | | | | iterator twice Signed-off-by: Filip Navara <filip.navara@gmail.com>
* plumbing: format/idxfile, save another 18% of time in genOffsetHash by not ↵Filip Navara2019-04-251-14/+11
| | | | | | using iterator and not loading CRC Signed-off-by: Filip Navara <filip.navara@gmail.com>
* plumbing: format/idxfile, avoid creating temporary buffers to decode integersFilip Navara2019-04-251-32/+15
| | | | Signed-off-by: Filip Navara <filip.navara@gmail.com>
* plumbing: idxfile, avoid unnecessary building of reverse offset/hash mapFilip Navara2019-04-201-4/+26
| | | | Signed-off-by: Filip Navara <navara@emclient.com>
* plumbing/idxfile: object iterators returns entries in offset orderJavi Fontan2018-08-212-0/+84
| | | | | | | | | | | 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>
* 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, allow non-seekable sources on ParserMiguel Molina2018-08-081-2/+3
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* *: use parser to populate non writable storages and bug fixesMiguel Molina2018-08-072-2/+2
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: packfile, fix package testsMiguel Molina2018-07-302-1/+18
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* 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-271-14/+11
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* 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/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>
* plumbing/format/idxfile: add new Index and MemoryIndexMiguel Molina2018-07-196-204/+466
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* idxfile: optimise allocations in readObjectNamesDavid Symonds2018-05-301-4/+4
| | | | | | | This makes all the required Entry allocations in one go, instead of huge amounts of small individual allocations. Signed-off-by: David Symonds <dsymonds@golang.org>
* update to go-billy.v4 and go-git-fixtures.v3Máximo Cuadros2017-11-232-2/+2
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* format: idxfile, support for >2Gb packfilesMáximo Cuadros2017-07-274-1/+106
|
* packfile: create packfile.Index and reuse itSantiago M. Mola2017-07-265-11/+13
| | | | | | | | | | | | | | | There was an internal type (i.e. storage/filesystem.idx) to use as in-memory index for packfiles. This was not convenient to reuse in the packfile. This commit creates a new representation (format/packfile.Index) that can be converted to and from idxfile.Idxfile. A packfile.Index now contains the functionality that was scattered on storage/filesystem.idx and packfile.Decoder's internals. storage/filesystem now reuses packfile.Index instances and this also results in higher cache hit ratios when resolving deltas.
* Use buffered IO for decoding index files.JP Sugarbroad2017-07-101-2/+3
| | | | This reduces syscall CPU time from >40% to <10% in my local repository.
* fix gofmtSantiago M. Mola2017-06-132-2/+4
|
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-075-7/+7
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* Return values of Read not checked (fix #65)Antonio Jesus Navarro Perez2017-03-021-4/+4
|
* package plumbing documentation improvements (#248)Máximo Cuadros2017-02-074-141/+137
|
* new srcd.works/go-git.v4 pathMáximo Cuadros2017-01-305-7/+7
|
* new git fixture pathMáximo Cuadros2017-01-302-2/+2
|
* Fix some typos in plumbing docs (#244)Sergio Arbeo2017-01-301-1/+1
|
* new plumbing package (#118)Máximo Cuadros2016-11-086-0/+590
* plumbing: now core was renamed to core, and formats and clients moved inside