aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/format
Commit message (Collapse)AuthorAgeFilesLines
* packfile: small optimizations for findMatch and matchLengthMiguel Molina2017-09-072-16/+38
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: parallelize deltification of objects in groupsMiguel Molina2017-09-072-21/+31
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: use a modified version of JGit DeltaIndex and DeltaIndexScannerMiguel Molina2017-09-063-40/+286
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: slightly haster hash function for chunk-offset index keyMiguel Molina2017-09-062-11/+32
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: reuse delta indexes when possibleMiguel Molina2017-09-063-10/+22
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* packfile: improve performance a little by reducing gc pressureMiguel Molina2017-09-044-6/+33
| | | | Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
* plumbing: use sliding window in delta calculations, like git CLJeremy Stribling2017-08-282-1/+23
| | | | | | | | | | This sets a default sliding window of 10 for the delta calculation, just like git CL: https://git-scm.com/docs/git-pack-objects#git-pack-objects---windowltngt For a big-ish repo with 35K objects (17K commits), this reduced the time for calling `deltaSelection.walk` during a push from more than 14 minutes to about a minute.
* *: windows support, some more fixes (2) (#536)Manuel Carmona2017-08-071-0/+7
| | | | | | | | | | | | | | * fixed windows failed test: "143 FAIL: worktree_test.go:314: WorktreeSuite.TestFilenameNormalization" * fixed windows failed test: "489: FAIL: auth_method_test.go:106: SuiteCommon.TestNewSSHAgentAuthNoAgent" * fixed windows failed test: "279 FAIL: server_test.go:50: ServerSuite.TestClone" fixed windows failed test: "298 FAIL: server_test.go:37: ServerSuite.TestPush" * fixed windows failed test: "316 FAIL: <autogenerated>:26: UploadPackSuite.TearDownSuite" * fixed windows failed test: "FAIL: <autogenerated>:6: IndexSuite.TearDownSuite"
* Merge pull request #501 from smola/config-multiple-urlsMáximo Cuadros2017-08-025-13/+103
|\ | | | | config: multiple values in RemoteConfig (URLs and Fetch)
| * config: preserve option order on config marshallingSantiago M. Mola2017-08-015-12/+71
| | | | | | | | | | Do not change order of options (e.g. in RemoteConfig) when serializing for any option whose value has not changed.
| * format/config: add GoStringSantiago M. Mola2017-08-012-1/+32
| | | | | | | | This is more convenient for testing and debugging.
* | plumbing: add IsDelta method to ObjectTypeSantiago M. Mola2017-07-271-6/+2
| | | | | | | | | | ObjectType.IsDelta is a convenience function to match both offset and reference delta types.
* | storage: reuse deltas from packfilesSantiago M. Mola2017-07-275-98/+293
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * plumbing: add DeltaObject interface for EncodedObjects that are deltas and hold additional information about them, such as the hash of the base object. * plumbing/storer: add DeltaObjectStorer interface for object storers that can return DeltaObject. Note that calls to EncodedObject will never return instances of DeltaObject. That requires explicit calls to DeltaObject. * storage/filesystem: implement DeltaObjectStorer interface. * plumbing/packfile: packfile encoder now supports reusing deltas that are already computed (e.g. from an existing packfile) if the storage implements DeltaObjectStorer. Reusing deltas boosts performance of packfile generation (e.g. on push).
* | test: improve packfile.Encoder testsSantiago M. Mola2017-07-271-54/+68
|/ | | | | | | * Improve checks for encode/decode. * Make it easier to extend this test with more storage backends.
* storage/filesystem: reuse delta cacheSantiago M. Mola2017-07-271-10/+22
| | | | | Reuse delta base object cache for packfile decoders across multiple instances.
* plumbing/cache: use more explicit interfaceSantiago M. Mola2017-07-271-7/+6
| | | | | | * renamed Add to Put * Get returns a second bool value to indicate if there was hit or miss.
* format: idxfile, support for >2Gb packfilesMáximo Cuadros2017-07-274-1/+106
|
* packfile: create packfile.Index and reuse itSantiago M. Mola2017-07-269-93/+292
| | | | | | | | | | | | | | | 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.
* Merge pull request #491 from smola/error-checksMáximo Cuadros2017-07-192-21/+22
|\ | | | | *: add more IO error checks
| * packfile: check close error in UpdateObjectStorageSantiago M. Mola2017-07-191-8/+14
| |
| * packfile: check zlib reader closing errorSantiago M. Mola2017-07-191-13/+8
| |
* | Merge pull request #493 from src-d/windowsMáximo Cuadros2017-07-191-1/+7
|\ \ | | | | | | *: several windows support fixes
| * | plumbing: format config, escape back slashMáximo Cuadros2017-07-192-4/+2
| | |
| * | worktree: commit, use path package instead of filepathMáximo Cuadros2017-07-192-2/+10
| |/
* / packfile: Avoid panics patching corrupted deltasAntonio Jesus Navarro Perez2017-07-192-16/+85
|/
* 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.
* plumbing: gitignore, upgrade to go-billy.v3 and test with gocheckMáximo Cuadros2017-06-194-218/+199
|
* Merge pull request #429 from silvertern/gitignoreMáximo Cuadros2017-06-197-0/+676
|\ | | | | Adds .gitignore support
| * Adds gitignore supportOleg Sklyar2017-06-197-0/+676
| |
* | *: upgrade to go-billy.v3, mergeMáximo Cuadros2017-06-181-1/+1
| |
* | fix gofmtSantiago M. Mola2017-06-132-2/+4
|/
* packfile: A copy operation cannot be bigger than 64kbAntonio Jesus Navarro Perez2017-06-012-1/+35
| | | | More info here: https://github.com/git/git/blob/f7466e94375b3be27f229c78873f0acf8301c0a5/diff-delta.c#L428
* format/packfile: improve binary delta algorithmAntonio Jesus Navarro Perez2017-05-242-441/+94
| | | | Implemented algorithm described in "File System Support for Delta Compression" paper, from "Joshua P. MacDonald".
* format/diff: unified diff encoder and public APIAntonio Jesus Navarro Perez2017-05-233-0/+1242
| | | | | | | | | - Added Patch interface - Added a Unified Diff encoder from Patches - Added Change method to generate Patches - Added Changes method to generate Patches - Added Tree method to generate Patches - Added Commit method to generate Patches
* worktree: Remove and Move methodsMáximo Cuadros2017-05-212-0/+29
|
* format/packfile: fix bug when the delta depth is equals to 50Antonio Jesus Navarro Perez2017-05-082-0/+10
|
* plumbing: index, Entries converted in a slice of pointersMáximo Cuadros2017-04-265-11/+11
|
* format/packfile: rename Seek to SeekFromStartSantiago M. Mola2017-04-263-6/+8
| | | | | | This has signature and behavior distinct from io.Seeker, go vet complains about this, so we change it to a different name to avoid confusion.
* fix format string issues as found by go vetSantiago M. Mola2017-04-261-1/+1
|
* format: index, Index.Entry methodMáximo Cuadros2017-04-132-5/+39
|
* worktree, reset implementation and status improvementsMáximo Cuadros2017-04-121-12/+15
|
* plumbing: format, index stringerMáximo Cuadros2017-04-111-0/+23
|
* use go-billy.v2 versionAntonio Jesus Navarro Perez2017-03-101-1/+1
|
* project: move imports from srcd.works to gopkg.inAntonio Jesus Navarro Perez2017-03-0731-51/+51
| | | | To be able to fix #261 we will move again to gopkg.in before v4 stable release.
* Merge pull request #299 from ajnavarro/fix/read-allSantiago M. Mola2017-03-031-4/+4
|\ | | | | Return values of Read not checked (fix #65)
| * Return values of Read not checked (fix #65)Antonio Jesus Navarro Perez2017-03-021-4/+4
| |
* | replace os.FileMode use with filemode.FileModeAlberto Cortés2017-03-012-5/+7
|/
* plumbing: improve documentation (Fix #242)Antonio Jesus Navarro Perez2017-02-235-6/+51
|
* Merge pull request #278 from ajnavarro/improvement/move-cache-to-plumbingMáximo Cuadros2017-02-211-1/+1
|\ | | | | cache: move package to plumbing
| * cache: move package to plumbingAntonio Jesus Navarro Perez2017-02-211-1/+1
| | | | | | | | Because cache package is only intended to be used at internal level, we move it to the plumbing package.