| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
plumbing: object, commit.Parent() method
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Signed-off-by: Máximo Cuadros <mcuadros@gmail.com>
|
| |
| |
| |
| |
| |
| | |
* Fix typo in the readme
* Fix another typo
|
|\ \
| | |
| | | |
fix: a range loop can break in advance
|
| | | |
|
|\ \ \
| | | |
| | | | |
Add Stats() to Commit
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Stats() is similar to `git show --stat <hash>`.
|
|\ \ \ \
| |/ / /
|/| | | |
Updating reference to the git object model
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
travis: update go versions
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
packfile: use buffer pool for diffs
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
packfile: delete index maps from memory when no longer needed
|
|/ / /
| | |
| | |
| | | |
This helps keep memory usage stable while calculating deltas.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Add support for signed commits
This change adds `GPGSignature` field to `Commit` object. This is used
to store the signature of the commit, if any.
* Rename gpg to pgp
|
|\ \ \
| | | |
| | | | |
packp/capability: Skip argument validations for unknown capabilities
|
|/ / /
| | |
| | |
| | | |
Fixes #623
|
|\ \ \
| | | |
| | | | |
remote: add the last 100 commits for each ref in haves list
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If the local ref is not an ancestor of the remote ref being fetched,
then when we send an UploadPack request with that local ref as one of
the Haves, the remote will not recognize it, and will think we are
asking for the entire history of the repo, even if there's a common
ancestor.
To do this right, we need to support the multi-ack protocol so we can
negotiate a common commit. That's hard though; this is a quick fix
just to include the previous 100 commits for each local ref in the
Haves list, and hope that one of them is the common commit.
|
|\ \ \ \
| | | | |
| | | | | |
Fix spelling
|
| | |/ /
| |/| | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix spelling Unstagged -> Unstaged
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
remote: add support for ls-remote
|
| | | | |
|
| | | | |
|
| |/ / |
|
|\ \ \
| | | |
| | | | |
Add port to SCP Endpoints
|
| | | |
| | | |
| | | |
| | | | |
URLs should be user@server:port/path instead of user@server:port:path
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
The port for SCP-like URLs was hardcoded to 22.
This commit modifies the regex to find a port (optional), and adds a new test
case that covers this scenario.
|
|\ \ \
| | | |
| | | | |
revlist: do not revisit ancestors as long as all branches are visited
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change is the fixed version of the previous performance improvement
that was reverted due to some bogus logic.
Now it's fixed and only stops the iteration if and only if all of the
branches we've come across have been visited, being a branch a parent
commit of a commit we've visited.
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
|\ \ \
| | | |
| | | | |
plumbing: the commit walker can skip externally-seen commits
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
When the revlist is computing the set of hashes needed to transfer, it
doesn't need to walk over commits it has already processed. So, it
can instruct the commit walker not to walk those commits by passing in
its own `seen` map.
For a 36K object repo, this brought the time for `revlist.Objects`
down from 50s to 30s.
|
|\ \ \ \
| |/ / /
|/| | | |
config: support a configurable, and turn-off-able, pack.window
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
One use of go-git is to transfer git data from a non-standard git repo
(not stored in a file system, for example) to a "remote" backed by a
standard, local .git repo.
In this scenario, delta compression is not needed to reduce transfer
time over the "network", because there is no network. The underlying
storage layer has already taken care of the data tranfer, and sending
the objects to local .git storage doesn't require compression. So this
PR gives the user the option to turn off compression when it isn't
needed.
Of course, this results in a larger, uncompressed local .git repo, but
the user can then run git gc or git repack on that repo if they care
about the storage costs.
Turning the pack window to 0 on reduces total push time of a 36K repo
by 50 seconds (out of a pre-PR total of 3m26s).
|
|\ \ \
| | | |
| | | | |
examples: update link to GoDoc in _examples/storage
|
|/ / /
| | |
| | | |
Update like to storage GoDoc
|
|\ \ \
| | | |
| | | | |
revert: revlist: do not revisit already visited ancestors
|
|/ / /
| | |
| | |
| | | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
packfile: improve performance of delta generation
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Miguel Molina <miguel@erizocosmi.co>
|