| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
First parents are somewhat special in git.
There's even a --first-parent flag to 'git log'.
Add a helper method to look them up.
This avoids boilerplate and spares the client from
having to arrange for a handle to the Storer,
which is stored in the unexported field Commit.s.
|
|
|
|
|
|
|
|
|
|
| |
* 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"
|
|\
| |
| | |
Normalize filenames before comparing.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some multibyte characters can have multiple representations. Before
comparing strings, we need to normalize them. In this case we're
normalizing to normalized form C, but it shouldn't matter as long as
both strings are normalized to the same form.
Fixes https://github.com/src-d/go-git/issues/495
|
|\ \
| | |
| | | |
Remote.Clone fix clone of tags in shallow mode
|
|/ / |
|
|\ \
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Change `URL string` to `URL []string` in `RemoteConfig`, since
git allows multiple URLs per remote. See:
http://marc.info/?l=git&m=116231242118202&w=2
* Fix marshalling of multiple fetch refspecs.
|
|\ \ \
| |_|/
|/| | |
reuse Auth method when recursing submodules, fixes #521
|
|/ / |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
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.
|
|\ \ \
| |_|/
|/| | |
storage: reuse deltas from packfiles
|
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
|/| | |
filesystem: reuse cache for packfile iterator
|
|/ / |
|
|\ \
| |/
|/| |
cache: reuse object cache for delta resolution, use LRU policy
|
| | |
|
| |
| |
| |
| |
| | |
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.
|
|\
| |
| | |
format: idxfile, support for >2Gb packfiles
|
| | |
|
|\ \
| | |
| | | |
worktree: expose underlying filesystem
|
| |/ |
|
|\ \
| |/
|/| |
remote: pull refactor to match default behavior of cgit
|
|/ |
|
|\
| |
| | |
*: package context support in Repository, Remote and Submodule
|
| | |
|
|\ \
| |/
|/| |
packfile: create packfile.Index and reuse it
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
transport: context package support allowing cancellation of any network operation
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | | |
move Repository.Pull to Worktree.Pull
|
|/ / |
|
|\ \
| |/
|/| |
remote: push, update remote refs on push
|
| | |
|
|\ \
| |/
|/| |
Implement a NoTags mode for fetch that mimics git fetch --no-tags
|
|/ |
|