aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #731 from jfontan/fix/crash-with-delta-cyclesMáximo Cuadros2018-01-264-2/+56
|\ | | | | plumbing: format/packfile, fix crash with cycle deltas
| * plumbing: format/packfile, check nil objects in ObjectToPackJavi Fontan2018-01-252-8/+12
| | | | | | | | | | | | | | SetOriginal now skips setting resolved values if the provided object is nil. BackToOriginal also skips nil Original objects. Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * plumbing: format/packfile, fix crash with cycle deltasJavi Fontan2018-01-244-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | Resolving cycles relied on ObjectToPack objects having Original. This is no longer true with the changes from #720. This commit changes: * Save original type, hash and size in ObjectToPack * Use SetObject to set both Original and resolved type, hash and size * Restore original object before using BackToOriginal (cycle resolution) * Update encoder test to check this case Signed-off-by: Javi Fontan <jfontan@gmail.com>
* | gofmt -sMáximo Cuadros2018-01-252-3/+3
|/ | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Merge pull request #724 from jfontan/improvement/buffered-tee-readerMáximo Cuadros2018-01-212-13/+106
|\ | | | | plumbing: packfile, Add a buffer to crc writer
| * plumbing: packfile, Add crc check to scanner test.Javi Fontan2018-01-211-4/+75
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * plumbing: packfile, Add a buffer to crc writer.Javi Fontan2018-01-211-9/+31
|/ | | | | | | | | | | crc update with block smaller than 16 bytes uses a slower version of the function. ReadByte is heavily used by zlib inflate so most of the time crc is update byte by byte. A new Flush method is added to the scanner to flush this crc writer cache. It is only called when the Scanner reader is a teeReader. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Merge pull request #721 from rykov/clone-no-checkoutMáximo Cuadros2018-01-183-1/+25
|\ | | | | Support for clone without checkout (git clone -n)
| * Support for clone without checkoutMichael Rykov2018-01-173-1/+25
|/
* Merge pull request #720 from ↵v4.1.0Máximo Cuadros2018-01-163-6/+24
|\ | | | | | | | | jfontan/improvement/cache-delete-more-than-one-object plumbing: cache, modify cache to delete more than one item to free space
| * Test eviction of more than one objectJavi Fontan2018-01-161-0/+20
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Cache should hold objects the same size as MaxSizeJavi Fontan2018-01-161-1/+1
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Modify cache to delete more than one item to free spaceJavi Fontan2018-01-162-5/+3
|/ | | | | | | | | | | The previous version could only delete the oldest used object. If the object to cache was bigger than the space freed it could not be added. Also the decoder adds bases to the cache when they are needed. This change increases the speed creating indexes 2x. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* _examples: branch example improvementsMáximo Cuadros2018-01-154-61/+66
| | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* Merge pull request #714 from marwan-at-work/branch-minipMáximo Cuadros2018-01-152-12/+56
|\ | | | | add branch add/remove example
| * add branch add/remove examplemarwan-at-work2018-01-092-12/+56
| |
* | Merge pull request #716 from jfontan/fix/memory-leak-packing-objectsMáximo Cuadros2018-01-151-13/+19
|\ \ | | | | | | Clean reconstructed objects outside pack window
| * | Clean reconstructed objects outside pack windowJavi Fontan2018-01-111-13/+19
|/ / | | | | | | | | | | | | | | | | | | | | Object walk reconstructs delta objects but these are not cleaned up after they got out the pack window. Without this change all reconstructed objects reside in memory. restoreOriginal call is moved before calling Size(). Now we can not guarantee that the object is already undeltified. Signed-off-by: Javi Fontan <javier@sourced.tech>
* | Merge pull request #712 from jfontan/fix/set-default-window-sizeMáximo Cuadros2018-01-102-4/+19
|\ \ | |/ |/| Set default pack window size in config
| * Make DefaultPackWindow const public and document itJavi Fontan2018-01-102-5/+7
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Add tests for default config valuesJavi Fontan2018-01-101-0/+9
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Set default pack window size in configJavi Fontan2018-01-091-1/+5
|/ | | | | | | | Config is not initialized with the default window size. Without this the window size is 0 by default and packfile code is unable to generate deltas. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* Merge pull request #710 from wellsjo/patch-1v4.0.0Máximo Cuadros2018-01-081-1/+1
|\ | | | | fix typo
| * fix typoWells Johnston2018-01-081-1/+1
|/
* Merge pull request #700 from jfontan/improvement/support-non-rw-filesystemsMáximo Cuadros2018-01-026-33/+142
|\ | | | | Add a setRef and rewritePackedRefsWhileLocked versions that supports non rw fs
| * Add norwfs version of rewritePackedRefsWhileLockedJavi Fontan2017-12-224-4/+50
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Check reference also in norwfs SetRefJavi Fontan2017-12-221-2/+25
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Add comment to the norwfs version of SetRefJavi Fontan2017-12-211-0/+7
| | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * Add a setRef version that supports non rw fsJavi Fontan2017-12-213-29/+62
| | | | | | | | | | | | | | | | | | There are some filesystems that do not support opening the files in read and write modes at the same time. The method SetRef is split in files with an extra version that only writes the reference. It can be activated with -tags norwfs on building. Signed-off-by: Javi Fontan <jfontan@gmail.com>
* | added DCOMáximo Cuadros2017-12-211-0/+36
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | remove old .travis folderMáximo Cuadros2017-12-212-9/+0
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | Merge pull request #698 from jfontan/improvement/use-decoder-cacheMáximo Cuadros2017-12-206-68/+113
|\ \ | | | | | | plumbing: cache, enforce the use of cache in packfile decoder
| * | Exercise NewObjectLRUDefault in testingJavi Fontan2017-12-201-41/+60
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Make DeltaBaseCache privateJavi Fontan2017-12-202-12/+19
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Fix typo and documentation of NewDecoderForTypeJavi Fontan2017-12-201-3/+3
| | | | | | | | | | | | Signed-off-by: Javi Fontan <jfontan@gmail.com>
| * | Enforce the use of cache in packfile decoderJavi Fontan2017-12-205-17/+36
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Decoder object can make use of an object cache to speed up processing. Previously the only way to specify it was changing manually the struct generated by NewDecodeForFile. This lead to some instances to be created without it and penalized performance. Now the cache should be explicitly passed to the constructor function. NewDecoder now creates objects with a cache using the default size. A new helper function was added to create cache objects with the default size as this becomes a common task now: cache.NewObjectLRUDefault() Signed-off-by: Javi Fontan <jfontan@gmail.com>
* | Merge pull request #697 from ajnavarro/performance/improve-delta-reusingMáximo Cuadros2017-12-205-29/+152
|\ \ | |/ |/| plumbing: packafile, improve delta reutilization
| * Improve delta reutilizationAntonio Jesus Navarro Perez2017-12-205-29/+152
| | | | | | | | | | | | | | | | | | | | | | - Remove wrong 'if' on delta selector that causes poor delta reutilizations - packfile.Encoder now can write deltas and objects in a non specific order - ObjectToPack now saves the Offset on the packfile to be able to obtain base offset in a recursive manner and write them before the delta itself - Added encoder test to check cyclic delta chains - Check the output packfile hash in all encoder tests Signed-off-by: Antonio Jesus Navarro Perez <antnavper@gmail.com>
* | Merge pull request #695 from darkowlzz/grep-multiple-patterns-pathspecMáximo Cuadros2017-12-203-35/+124
|\ \ | | | | | | git: Worktree.Grep() support multiple patterns and pathspecs
| * | git: Worktree.Grep() support multiple patterns and pathspecsSunny2017-12-203-35/+124
| | | | | | | | | | | | Signed-off-by: Sunny <me@darkowlzz.space>
* | | Merge pull request #690 from mcuadros/readmeMáximo Cuadros2017-12-191-18/+14
|\ \ \ | |_|/ |/| | README.md update
| * | README.md updateMáximo Cuadros2017-12-181-18/+14
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
* | | Merge pull request #696 from ferhatelmas/simplify-againOri Rawlings2017-12-173-11/+4
|\ \ \ | |_|/ |/| | *: simplication
| * | *: simplicationferhat elmas2017-12-183-11/+4
|/ / | | | | | | | | | | - no unnecessary err/bool check, uses them directly Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
* / git: worktree, add Grep() method for git grep (#686)Sunny2017-12-124-1/+324
|/ | | This change implemented grep on worktree with options to invert match and specify pathspec. Also, a commit hash or reference can be used to specify the worktree to search.
* Merge pull request #687 from smithrobs/sshconfigMáximo Cuadros2017-12-112-0/+110
|\ | | | | check .ssh/config for host and port overrides; fixes #629
| * plumbing: transport ssh, ssh_config implementationMáximo Cuadros2017-12-112-12/+107
| | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
| * check .ssh/config for host and port overrides; fixes #629Robert Smith2017-12-091-0/+15
| |
* | Merge pull request #680 from mcuadros/license-contributingMáximo Cuadros2017-12-114-19/+336
|\ \ | | | | | | License upgrade, plus code of conduct and contributing guidelines
| * | code of conduct from https://www.contributor-covenant.org/Máximo Cuadros2017-12-071-0/+74
| | | | | | | | | | | | Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>