| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|
|
|
| |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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"
|
|\
| |
| | |
config: multiple values in RemoteConfig (URLs and Fetch)
|
| |
| |
| |
| |
| | |
Do not change order of options (e.g. in RemoteConfig)
when serializing for any option whose value has not changed.
|
| |
| |
| |
| | |
This is more convenient for testing and debugging.
|
| |
| |
| |
| |
| | |
ObjectType.IsDelta is a convenience function to match both
offset and reference delta types.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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).
|
|/
|
|
|
|
|
| |
* Improve checks for encode/decode.
* Make it easier to extend this test with more
storage backends.
|
|
|
|
|
| |
Reuse delta base object cache for packfile decoders
across multiple instances.
|
|
|
|
|
|
| |
* renamed Add to Put
* Get returns a second bool value to indicate if there
was hit or miss.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
*: add more IO error checks
|
| | |
|
| | |
|
|\ \
| | |
| | | |
*: several windows support fixes
|
| | | |
|
| |/ |
|
|/ |
|
|
|
|
| |
This reduces syscall CPU time from >40% to <10% in my local repository.
|
| |
|
|\
| |
| | |
Adds .gitignore support
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
More info here: https://github.com/git/git/blob/f7466e94375b3be27f229c78873f0acf8301c0a5/diff-delta.c#L428
|
|
|
|
| |
Implemented algorithm described in "File System Support for Delta Compression" paper, from "Joshua P. MacDonald".
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
To be able to fix #261 we will move again to gopkg.in before v4 stable release.
|
|\
| |
| | |
Return values of Read not checked (fix #65)
|
| | |
|
|/ |
|
| |
|
|\
| |
| | |
cache: move package to plumbing
|
| |
| |
| |
| | |
Because cache package is only intended to be used at internal level, we move it to the plumbing package.
|
| | |
|
|/ |
|
|\
| |
| | |
Fix missing objects if they where deltified using ref-delta
|
| |
| |
| |
| |
| | |
- 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.
|