aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing
Commit message (Collapse)AuthorAgeFilesLines
* all: remove extra 's' in "mismatch"Jongmin Kim2018-09-261-1/+1
| | | | Signed-off-by: Jongmin Kim <jmkim@pukyong.ac.kr>
* Remove empty space to trigger windows build.kuba--2018-09-172-4/+0
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Fix potential LRU cache size issue.kuba--2018-09-174-22/+68
| | | | Signed-off-by: kuba-- <kuba@sourced.tech>
* Merge branch 'master' of github.com:src-d/go-git into f-add-tagging-supportMáximo Cuadros2018-09-1025-61/+318
|\
| * 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>
| * | Merge pull request #949 from kuba--/custom-cacheMáximo Cuadros2018-09-0813-44/+36
| |\ \ | | | | | | | | Expose Storage cache.
| | * | Expose Storage cache.kuba--2018-09-0713-44/+36
| | |/ | | | | | | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
| * / plumbing/transport: ssh check if list of known_hosts files is emptyKuba Podgórski2018-09-072-7/+69
| |/ | | | | Signed-off-by: kuba-- <kuba@sourced.tech>
| * Merge pull request #939 from ↵Máximo Cuadros2018-09-042-2/+6
| |\ | | | | | | | | | | | | keybase/taruti/cherrypick-for-upstream-clamp-object-timestamp Clamp object timestamps before unix epoch to unix epoch
| | * plumbing: object: Clamp object timestamps before unix epoch to unix epochTaru Karttunen2018-08-292-2/+6
| | | | | | | | | | | | Signed-off-by: Taru Karttunen <taruti@taruti.net>
| * | 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>
| * | Merge pull request #921 from jfontan/fix/empty-headersMáximo Cuadros2018-08-212-5/+45
| |\ \ | | |/ | |/| plumbing/object: fix panic when reading object header
| | * object: fix panic when reading object headerJavi Fontan2018-08-172-5/+45
| | | | | | | | | | | | | | | | | | | | | | | | When the first line of the pgp signature is an empty line or some header is malformed it crashes as there's no data for the header element. For example, if author name is "\n". 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: object, don't add extra newline on PGP signatureChris Marchesi2018-08-211-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tag encoding/decoding seems to be a lot more sensitive to requiring the exact expected format in the object, which generally includes messages canonicalized so that they have a newline on the end (even if they didn't before). As such, the message should be written with the newline (no need for an extra), and the PGP signature right after that, which will be newline split already, so there's no need to split it again. All of this means it's very important for the caller to send the message in the correct format - which I'm correcting in the next commit. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
* | plumbing: object, correct tag PGP encodingChris Marchesi2018-08-211-7/+3
|/ | | | | | | | As with the update in ec3d2a8, tag encoding needed to be corrected to ensure extra newlines were not being added in during tag object encoding, so that it did not corrupt the object for verification. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
* Merge pull request #920 from vancluever/f-add-commit-signkeyv4.6.0Máximo Cuadros2018-08-171-7/+7
|\ | | | | git: Add ability to PGP sign commits
| * plumbing: object, Don't add new line at end of commit signatureChris Marchesi2018-08-161-7/+7
| | | | | | | | | | | | | | | | | | | | The way that commit signatures were being written out was causing an extra newline to be written at the end of the commit when the message encoding was already taking care of this. Ultimately, this results in a corrupt object, rendering the object unverifiable with the signature in the commit. Signed-off-by: Chris Marchesi <chrism@vancluevertech.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-144-14/+249
|/ | | | | | | 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>
* Merge pull request #906 from src-d/perf/packfile-readsMáximo Cuadros2018-08-1427-1434/+2602
|\ | | | | Improve packfile reading performance
| * 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-096-63/+126
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * storage: filesystem, close Packfile after iterating objectsMiguel Molina2018-08-091-0/+7
| | | | | | | | 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-0716-1181/+525
| | | | | | | | 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-266-158/+422
| | | | | | | | 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>
| * plumbing/packfile: disable lookup by offsetJavi Fontan2018-07-261-8/+9
| | | | | | | | | | | | | | In one case it disables the cache and the other disables lookup when the scanner is not seekable. Could be added back later. Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * plumbing/packfile: add new packfile parserJavi Fontan2018-07-262-0/+498
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * plumbing/format/idxfile: add new Index and MemoryIndexMiguel Molina2018-07-198-339/+483
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* | plumbing/object: fix pgp signature encoder/decoderJavi Fontan2018-07-182-18/+45
|/ | | | | | | | | | | | | | | | | | The way of reading pgp signatures was searching for pgp begin line in the header. This caused problems when this string appeared and was not part of the signature. For example if it appears in the message as an example or is part of the author name the decoder starts treating it as a signature. In this state the code was not able to notice then the header ended so it entered in an infinite loop searching for pgp end string. Now it uses the same method as original git. Searches for gpgsig section in header and starts getting all lines until the next part. In encoder the string used to add signatures was incorrect. It is now changed to the proper "gpgsig" string instead of "pgpsig". Signed-off-by: Javi Fontan <jfontan@gmail.com>