| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
The setup-go step can be sped up by caching Go dependencies. The
input for that operation is the go.sum file. Previously, the
checkout operation was happening after the setup-go, which meant
that go.sum was never available which effectively meant the cache
was disabled.
Signed-off-by: Paulo Gomes <paulo.gomes@suse.com>
|
|
|
|
|
|
|
|
| |
Some worktree validation rules observed upstream are not checked
by go-git, leading to scenarios in which what seems to be a valid
repository for go-git is not necessarily the case for the git cli.
Signed-off-by: Paulo Gomes <paulo.gomes@suse.com>
|
|\
| |
| | |
storage: filesystem, Add option to set a specific FS for alternates
|
|/
|
|
|
|
|
|
|
|
|
| |
Introduces the option to set a FS for alternates, enabling more flexible cross FS
sharing of alternates. If none is set, falls back to the current FS used for the
object storage.
The changes only process a given path once, and if an alternates dir is not valid,
exits with error - aligning behaviour with upstream.
Signed-off-by: Paulo Gomes <paulo.gomes@suse.com>
|
|\
| |
| | |
plumbing: object, enable renames in getFileStatsFromFilePatches
|
| |
| |
| |
| |
| | |
Diff has handled renames by default since 2020. This change sets Name
for the renamed file in a manner similar to diffstat.
|
|\ \
| | |
| | | |
git: stop iterating at oldest shallow when pulling. Fixes #305
|
| |/ |
|
|\ \
| | |
| | | |
git: validate reference names (#929)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Check reference names format before creating branches/tags/remotes.
This should probably be in a lower level somewhere in `plumbing`.
Validating the names under `plumbing.NewReference*` is not possible
since these functions don't return errors.
Fixes: https://github.com/go-git/go-git/issues/929
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
go-git/dependabot/go_modules/cli/go-git/github.com/go-git/go-git/v5-5.10.1
build: bump github.com/go-git/go-git/v5 from 5.10.1-0.20231107163107-e54a6ae399e9 to 5.10.1 in /cli/go-git
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.10.1-0.20231107163107-e54a6ae399e9 to 5.10.1.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/commits/v5.10.1)
---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/net-0.19.0
build: bump golang.org/x/net from 0.18.0 to 0.19.0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/net/compare/v0.18.0...v0.19.0)
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/crypto-0.16.0
build: bump golang.org/x/crypto from 0.15.0 to 0.16.0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/crypto/compare/v0.15.0...v0.16.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| |/
|/| |
Respect pktline error-line errors
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Error when encountering an error-line
See https://git-scm.com/docs/pack-protocol
Update plumbing/format/pktline/error.go
Co-authored-by: Paulo Gomes <paulo.gomes.uk@gmail.com>
Update plumbing/format/pktline/error.go
Co-authored-by: Paulo Gomes <paulo.gomes.uk@gmail.com>
feat: format newline
|
|/
|
|
|
|
| |
This the request used for the git transport protocol
feat: nil writer
|
|\
| |
| | |
Ignore ModeSocket files
|
| | |
|
|\ \
| | |
| | | |
plumbing: transport/git, Improve tests error message
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
When running the tests in an install in which git daemon is not installed
(e.g. openSUSE), all the git transport tests will fail with a connection
refused error. This was due the git server not being running in the first
place. The tests will now fail with 'git daemon cannot be found'.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|\ \
| | |
| | | |
plumbing: fix empty uploadpack request error
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we have all what we asked for, finish the session and handle error.
This is equivalent of git "Already up to date." message.
Fixes: https://github.com/go-git/go-git/issues/328
Fixes: https://github.com/go-git/go-git/issues/638
Fixes: https://github.com/go-git/go-git/issues/157
|
|\ \ \
| |/ /
|/| | |
utils: move trace to utils
|
|/ /
| |
| |
| |
| |
| |
| | |
Without exposing `trace`, we can't set a target to enable tracing from
out of go-git.
Fixes: https://github.com/go-git/go-git/pull/916
|
|\ \
| | |
| | | |
git: add tracer package
|
| | | |
|
|/ /
| |
| |
| |
| | |
This adds a generic tracing package to log messages to output if target
is enabled.
|
|\ \
| | |
| | | |
utils: remove ioutil.Pipe and use std library io.Pipe
|
|/ /
| |
| |
| | |
ioutil.Pipe literally calls io.Pipe.
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/net-0.18.0
build: bump golang.org/x/net from 0.17.0 to 0.18.0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.18.0.
- [Commits](https://github.com/golang/net/compare/v0.17.0...v0.18.0)
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/crypto-0.15.0
build: bump golang.org/x/crypto from 0.14.0 to 0.15.0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/crypto/compare/v0.14.0...v0.15.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| | |
| | | |
cli: separate go module for cli
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | | |
plumbing: format/packfile, Refactor patch delta
|
|/ /
| |
| |
| |
| |
| | |
The changes aim to simplify the code and reduce duplication.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/text-0.14.0
build: bump golang.org/x/text from 0.13.0 to 0.14.0
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/golang/text/releases)
- [Commits](https://github.com/golang/text/compare/v0.13.0...v0.14.0)
---
updated-dependencies:
- dependency-name: golang.org/x/text
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \
| | |
| | |
| | |
| | | |
go-git/dependabot/go_modules/golang.org/x/sys-0.14.0
build: bump golang.org/x/sys from 0.13.0 to 0.14.0
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/sys/compare/v0.13.0...v0.14.0)
---
updated-dependencies:
- dependency-name: golang.org/x/sys
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
|
|\ \ \
| |/ /
|/| | |
plumbing: Optimise memory consumption for filesystem storage
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, as part of building the index representation, the resolveObject
func would create an interim plumbing.MemoryObject, which would then be
saved into storage via storage.SetEncodedObject. This meant that objects
would be unnecessarily loaded into memory, to then be saved into disk.
The changes streamlines this process by:
- Introducing the LazyObjectWriter interface which enables the write
operation to take places directly against the filesystem-based storage.
- Leverage multi-writers to process the input data once, while targeting
multiple writers (e.g. hasher and storage).
An additional change relates to the caching of object info children within
Parser.get. The cache is now skipped when a seekable filesystem is being
used.
The impact of the changes can be observed when using seekable filesystem
storages, especially when cloning large repositories.
The stats below were captured by adapting the BenchmarkPlainClone test
to clone https://github.com/torvalds/linux.git:
pkg: github.com/go-git/go-git/v5
cpu: Intel(R) Core(TM) i9-10885H CPU @ 2.40GHz
│ /tmp/old │ /tmp/new │
│ sec/op │ sec/op vs base │
PlainClone-16 41.68 ± 17% 48.04 ± 9% +15.27% (p=0.015 n=6)
│ /tmp/old │ /tmp/new │
│ B/op │ B/op vs base │
PlainClone-16 1127.8Mi ± 7% 256.7Mi ± 50% -77.23% (p=0.002 n=6)
│ /tmp/old │ /tmp/new │
│ allocs/op │ allocs/op vs base │
PlainClone-16 3.125M ± 0% 3.800M ± 0% +21.60% (p=0.002 n=6)
Notice that on average the memory consumption per operation is over 75%
smaller. The time per operation increased by 15%, which may actual be less
on long running applications, due to the decreased GC pressure and the
garbage collection costs.
Signed-off-by: Paulo Gomes <pjbgf@linux.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The changes aim to make that specific benchmark more
reliable for setting a baseline which can later be
use to compare against future changes on the most
basic feature of go-git: plain cloning repositories.
|