aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* git: Add tagging supportChris Marchesi2018-08-213-3/+443
| | | | | | | | | | | | | | | | | | | | | | | This adds a few methods: * CreateTag, which can be used to create both lightweight and annotated tags with a supplied TagObjectOptions struct. PGP signing is possible as well. * Tag, to fetch a single tag ref. As opposed to Tags or TagObjects, this will also fetch the tag object if it exists and return it along with the output. Lightweight tags just return the object as nil. * DeleteTag, to delete a tag. This simply deletes the ref. The object is left orphaned to be GCed later. I'm not 100% sure if DeleteTag is the correct behavior - looking for details on exactly *what* happens to a tag object if you delete the ref and not the tag were sparse, and groking the Git source did not really produce much insight to the untrained eye. This may be something that comes up in review. If deletion of the object is necessary, the in-memory storer may require some updates to allow DeleteLooseObject to be supported. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
* Merge pull request #920 from vancluever/f-add-commit-signkeyv4.6.0Máximo Cuadros2018-08-174-7/+178
|\ | | | | git: Add ability to PGP sign commits
| * git: Add extra test for testing bad key error caseChris Marchesi2018-08-161-55/+85
| | | | | | | | | | | | I'm hoping this helps get codecov to a tolerable delta. :) Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
| * git: Remove old hash validation codeChris Marchesi2018-08-161-5/+0
| | | | | | | | | | | | | | | | | | | | This will not work for a signed commit as with the GPG signature being a part of the commit, the hash is now non-deterministic. Verification of the commit is done through the validation of the signature. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
| * git: Remove use of strings.BuilderChris Marchesi2018-08-162-2/+4
| | | | | | | | | | | | | | This was added in Go 1.10 and is not supported on Go 1.9. Switched to bytes.Buffer to ensure compatibility. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
| * git: Add ability to PGP sign commitsChris Marchesi2018-08-163-0/+144
| | | | | | | | | | | | | | | | | | | | This adds the ability to sign commits by adding the SignKey field to CommitOptions. If present, the commit will be signed during the WorkTree.Commit call. The supplied SignKey must already be decrypted by the caller. Signed-off-by: Chris Marchesi <chrism@vancluevertech.com>
| * 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>
* | Merge pull request #916 from ↵Máximo Cuadros2018-08-174-53/+276
|\ \ | |/ |/| | | | | jfontan/improvement/memory-consumption-new-packfile-parser Improvement/memory consumption new packfile parser
| * 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-1434-1539/+2949
|\ | | | | 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>
| * git: add benchmark for iterating repository objectsMiguel Molina2018-08-101-0/+56
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * plumbing: packfile, open and close packfile on FSObject readsMiguel Molina2018-08-099-75/+174
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * storage: filesystem, add PackfileIter benchmark reading object contentMiguel Molina2018-08-091-0/+67
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * storage: filesystem, close Packfile after iterating objectsMiguel Molina2018-08-092-1/+17
| | | | | | | | 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>
| * storage: filesystem, benchmark PackfileIterMiguel Molina2018-08-092-15/+94
| | | | | | | | 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-087-180/+235
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * *: use parser to populate non writable storages and bug fixesMiguel Molina2018-08-0719-1237/+561
| | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * Merge pull request #907 from erizocosmico/feature/fix-testsMiguel Molina2018-08-017-45/+116
| |\ | | | | | | | | | | | | plumbing: packfile, fix package tests Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| | * plumbing: packfile, fix package testsMiguel Molina2018-07-306-43/+88
| |/ | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * Merge pull request #904 from jfontan/feature/new-packfile-parserJavi Fontan2018-07-274-32/+132
| |\ | | | | | | Tests and indexes in packfile decoder
| | * plumbing/packfile: add index generation to decoderJavi Fontan2018-07-271-7/+25
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| | * storage/filesystem: remove duplicated IndexStorageJavi Fontan2018-07-271-15/+0
| | | | | | | | | | | | 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>
| * Merge pull request #899 from erizocosmico/feature/new-packfileMiguel Molina2018-07-279-38/+723
| |\ | | | | | | plumbing: packfile, new Packfile representation
| | * plumbing: packfile, lazy object reads with DiskObjectsMiguel Molina2018-07-276-41/+314
| | | | | | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| | * plumbing: packfile, new Packfile representationMiguel Molina2018-07-267-158/+437
| | | | | | | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
| * | Merge pull request #902 from jfontan/feature/new-packfile-parserJavi Fontan2018-07-274-135/+49
| |\ \ | | |/ | |/| Bugfixes and IndexStorage
| | * storage/filesystem: add back IndexStorageJavi Fontan2018-07-271-0/+47
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| | * plumbing: fix two errors in idxfile and packfile decoderJavi Fontan2018-07-262-2/+2
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| | * plumbing, packfile: delete index_test as is no longer usedJavi Fontan2018-07-261-133/+0
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Merge pull request #898 from jfontan/feature/new-packfile-parserJavi Fontan2018-07-2610-47/+831
| |\| | | | | | | Feature/new packfile parser
| | * plumbing, storage: integrate new indexJavi Fontan2018-07-265-45/+57
| | | | | | | | | | | | | | | | | | 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>
| * Merge pull request #896 from erizocosmico/feature/new-index-decoderMiguel Molina2018-07-2610-387/+484
| |\ | | | | | | plumbing/format/idxfile: add new Index and MemoryIndex
| | * plumbing/format/idxfile: add new Index and MemoryIndexMiguel Molina2018-07-1910-387/+484
| |/ | | | | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>