Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | storage: reuse deltas from packfiles | Santiago M. Mola | 2017-07-27 | 5 | -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 tests | Santiago M. Mola | 2017-07-27 | 1 | -54/+68 |
| | | | | | | | * Improve checks for encode/decode. * Make it easier to extend this test with more storage backends. | ||||
* | storage/filesystem: reuse delta cache | Santiago M. Mola | 2017-07-27 | 1 | -10/+22 |
| | | | | | Reuse delta base object cache for packfile decoders across multiple instances. | ||||
* | plumbing/cache: use more explicit interface | Santiago M. Mola | 2017-07-27 | 1 | -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 packfiles | Máximo Cuadros | 2017-07-27 | 4 | -1/+106 |
| | |||||
* | packfile: create packfile.Index and reuse it | Santiago M. Mola | 2017-07-26 | 9 | -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-checks | Máximo Cuadros | 2017-07-19 | 2 | -21/+22 |
|\ | | | | | *: add more IO error checks | ||||
| * | packfile: check close error in UpdateObjectStorage | Santiago M. Mola | 2017-07-19 | 1 | -8/+14 |
| | | |||||
| * | packfile: check zlib reader closing error | Santiago M. Mola | 2017-07-19 | 1 | -13/+8 |
| | | |||||
* | | Merge pull request #493 from src-d/windows | Máximo Cuadros | 2017-07-19 | 1 | -1/+7 |
|\ \ | | | | | | | *: several windows support fixes | ||||
| * | | plumbing: format config, escape back slash | Máximo Cuadros | 2017-07-19 | 2 | -4/+2 |
| | | | |||||
| * | | worktree: commit, use path package instead of filepath | Máximo Cuadros | 2017-07-19 | 2 | -2/+10 |
| |/ | |||||
* / | packfile: Avoid panics patching corrupted deltas | Antonio Jesus Navarro Perez | 2017-07-19 | 2 | -16/+85 |
|/ | |||||
* | Use buffered IO for decoding index files. | JP Sugarbroad | 2017-07-10 | 1 | -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 gocheck | Máximo Cuadros | 2017-06-19 | 4 | -218/+199 |
| | |||||
* | Merge pull request #429 from silvertern/gitignore | Máximo Cuadros | 2017-06-19 | 7 | -0/+676 |
|\ | | | | | Adds .gitignore support | ||||
| * | Adds gitignore support | Oleg Sklyar | 2017-06-19 | 7 | -0/+676 |
| | | |||||
* | | *: upgrade to go-billy.v3, merge | Máximo Cuadros | 2017-06-18 | 1 | -1/+1 |
| | | |||||
* | | fix gofmt | Santiago M. Mola | 2017-06-13 | 2 | -2/+4 |
|/ | |||||
* | packfile: A copy operation cannot be bigger than 64kb | Antonio Jesus Navarro Perez | 2017-06-01 | 2 | -1/+35 |
| | | | | More info here: https://github.com/git/git/blob/f7466e94375b3be27f229c78873f0acf8301c0a5/diff-delta.c#L428 | ||||
* | format/packfile: improve binary delta algorithm | Antonio Jesus Navarro Perez | 2017-05-24 | 2 | -441/+94 |
| | | | | Implemented algorithm described in "File System Support for Delta Compression" paper, from "Joshua P. MacDonald". | ||||
* | format/diff: unified diff encoder and public API | Antonio Jesus Navarro Perez | 2017-05-23 | 3 | -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 methods | Máximo Cuadros | 2017-05-21 | 2 | -0/+29 |
| | |||||
* | format/packfile: fix bug when the delta depth is equals to 50 | Antonio Jesus Navarro Perez | 2017-05-08 | 2 | -0/+10 |
| | |||||
* | plumbing: index, Entries converted in a slice of pointers | Máximo Cuadros | 2017-04-26 | 5 | -11/+11 |
| | |||||
* | format/packfile: rename Seek to SeekFromStart | Santiago M. Mola | 2017-04-26 | 3 | -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 vet | Santiago M. Mola | 2017-04-26 | 1 | -1/+1 |
| | |||||
* | format: index, Index.Entry method | Máximo Cuadros | 2017-04-13 | 2 | -5/+39 |
| | |||||
* | worktree, reset implementation and status improvements | Máximo Cuadros | 2017-04-12 | 1 | -12/+15 |
| | |||||
* | plumbing: format, index stringer | Máximo Cuadros | 2017-04-11 | 1 | -0/+23 |
| | |||||
* | use go-billy.v2 version | Antonio Jesus Navarro Perez | 2017-03-10 | 1 | -1/+1 |
| | |||||
* | project: move imports from srcd.works to gopkg.in | Antonio Jesus Navarro Perez | 2017-03-07 | 31 | -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-all | Santiago M. Mola | 2017-03-03 | 1 | -4/+4 |
|\ | | | | | Return values of Read not checked (fix #65) | ||||
| * | Return values of Read not checked (fix #65) | Antonio Jesus Navarro Perez | 2017-03-02 | 1 | -4/+4 |
| | | |||||
* | | replace os.FileMode use with filemode.FileMode | Alberto Cortés | 2017-03-01 | 2 | -5/+7 |
|/ | |||||
* | plumbing: improve documentation (Fix #242) | Antonio Jesus Navarro Perez | 2017-02-23 | 5 | -6/+51 |
| | |||||
* | Merge pull request #278 from ajnavarro/improvement/move-cache-to-plumbing | Máximo Cuadros | 2017-02-21 | 1 | -1/+1 |
|\ | | | | | cache: move package to plumbing | ||||
| * | cache: move package to plumbing | Antonio Jesus Navarro Perez | 2017-02-21 | 1 | -1/+1 |
| | | | | | | | | Because cache package is only intended to be used at internal level, we move it to the plumbing package. | ||||
* | | documentation and API improvements | Máximo Cuadros | 2017-02-21 | 1 | -5/+5 |
| | | |||||
* | | format/index: sort the Entries before encode | Máximo Cuadros | 2017-02-13 | 3 | -4/+28 |
|/ | |||||
* | Merge pull request #258 from ajnavarro/fix/onf-decoder | Antonio Navarro Perez | 2017-02-09 | 2 | -7/+65 |
|\ | | | | | Fix missing objects if they where deltified using ref-delta | ||||
| * | Fix missing objects if they where deltified using ref-delta | Antonio Jesus Navarro Perez | 2017-02-07 | 2 | -7/+65 |
| | | | | | | | | | | - Deleted invalid logic that returned nil if an ref-delta was not found into the decoder index. This logic was missing objects if it was deltified using ref-deltas. - Now, to avoid that problem, index is mandatory to decode correctly a packfile of a specific type. Decoder.SetOffsets method now is called into the EncodedObjectIterator to avoid this problem. | ||||
* | | package plumbing documentation improvements (#248) | Máximo Cuadros | 2017-02-07 | 12 | -830/+625 |
|/ | |||||
* | documentation changes | Máximo Cuadros | 2017-01-31 | 1 | -2/+3 |
| | |||||
* | new srcd.works/go-git.v4 path | Máximo Cuadros | 2017-01-30 | 31 | -48/+48 |
| | |||||
* | new git fixture path | Máximo Cuadros | 2017-01-30 | 6 | -6/+6 |
| | |||||
* | rename billy imports | Máximo Cuadros | 2017-01-30 | 1 | -3/+3 |
| | |||||
* | Fix some typos in plumbing docs (#244) | Sergio Arbeo | 2017-01-30 | 11 | -19/+19 |
| | |||||
* | format/index: keep time.Time as zero, when decoded value is 0 | Máximo Cuadros | 2017-01-28 | 2 | -6/+12 |
| | |||||
* | packfile: cache undeltified objects to improve decode performance (#218) | Antonio Navarro Perez | 2017-01-25 | 1 | -8/+33 |
| | | | | | * Simple object cache that keeps in memory the last undeltified objects. When no more objects can be kept into memory, the oldest one is deleted (FIFO). This speeds up packfile operations preventing redundant seeks and decodes. |