| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
plumbing: use LookPath instead of Stat to fix Windows executables
|
| |
| |
| |
| |
| |
| | |
When git-core isn't in the user's PATH, we need to use `LookPath` to
verify the existence of the executable, rather than `os.Stat`, so that
on Windows it will search for files with executable suffixes.
|
|/
|
|
|
|
|
| |
This helps avoids iterating down the same trees for every commit. For
a big-ish repo with 35K objects (17K commits), this reduced the time
for calling `revlist.Objects` during a push (with 0 hashes to ignore)
from more than ten minutes to less than a minute.
|
|
|
| |
*stopped instead of stop
|
| |
|
|
|
|
| |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|\
| |
| | |
*: windows support, skipped receive_pack_test for git transport
|
| | |
|
|/
|
|
|
| |
user.Current() causes 'Current not implemented' error when
crosscompiled. See https://github.com/golang/go/issues/6376
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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"
|
|\
| |
| | |
plumbing: fix pack commands for the file client on Windows
|
| |
| |
| |
| |
| |
| | |
The default git install on Windows doesn't come with commands for
receive-pack and upload-pack in the default $PATH. Instead, use
--exec-path to find pack executables in that case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* fixed windows failed test: "134 FAIL: repository_test.go:340: RepositorySuite.TestPlainOpenBareRelativeGitDirFileTrailingGarbage"
* fixed windows failed test: "143 FAIL: worktree_test.go:367: WorktreeSuite.TestCheckoutIndexOS"
* fixed windows failed test: "296 FAIL: receive_pack_test.go:36: ReceivePackSuite.TearDownTest"
* fixed windows failed test: "152 FAIL: worktree_test.go:278: WorktreeSuite.TestCheckoutSymlink"
|
|\ \
| | |
| | | |
plumbing: moved `Reference.Is*` methods to `ReferenceName.Is*`
|
| |/ |
|
|\ \
| |/
|/| |
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.
|
| | |
|
|\ \
| | |
| | | |
revlist: ignore all objects reachable from ignored objects
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Usually we call revlist.Objects ignoring a set of commits.
This is not enough to ignore everything reachable from such
set, so we first get all objects reachable from the ignored
set and then walk the tree again ignoring that new set.
|
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
|\ \
| | |
| | | |
packfile: Avoid panics patching corrupted deltas.
|
| |/ |
|
| | |
|
|/ |
|
|\
| |
| | |
Use buffered IO for decoding index files.
|
| |
| |
| |
| | |
This reduces syscall CPU time from >40% to <10% in my local repository.
|
|\ \
| | |
| | | |
plumbing: protocol, fix handling multiple ACK on upload-pack and test…
|
| | | |
|
|\ \ \
| | | |
| | | | |
transport/server: add asClient parameter
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
server.NewClient returns a server that acts as a client.
This makes it working seamlessly when registering a server directly with
`client.InstallProtocol`.
|