aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* plumbing: handle pktline erro-line as errorsAyman Bagabas2023-11-233-0/+128
| | | | | | | | | | | | | | | 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
* plumbing: add git-proto-request typeAyman Bagabas2023-11-232-0/+120
| | | | | | This the request used for the git transport protocol feat: nil writer
* Merge pull request #930 from steiler/fixSocketsPaulo Gomes2023-11-202-0/+30
|\ | | | | Ignore ModeSocket files
| * utils: merkletrie, Skip loading sockets as filesystem nodes. Fixes #312steiler2023-11-192-0/+30
| |
* | Merge pull request #752 from pjbgf/rt1Paulo Gomes2023-11-171-5/+15
|\ \ | | | | | | plumbing: transport/git, Improve tests error message
| * | plumbing: transport/git, Improve tests error messagePaulo Gomes2023-11-171-5/+15
|/ / | | | | | | | | | | | | | | | | 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>
* | Merge pull request #932 from aymanbagabas/fix-emptyPaulo Gomes2023-11-173-0/+24
|\ \ | | | | | | plumbing: fix empty uploadpack request error
| * | plumbing: fix empty uploadpack request errorAyman Bagabas2023-11-163-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge pull request #931 from aymanbagabas/trace-utilsPaulo Gomes2023-11-164-2/+2
|\ \ \ | |/ / |/| | utils: move trace to utils
| * | utils: move trace to utilsAyman Bagabas2023-11-164-2/+2
|/ / | | | | | | | | | | | | 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
* | Merge pull request #916 from aymanbagabas/tracePaulo Gomes2023-11-154-0/+157
|\ \ | | | | | | git: add tracer package
| * | plumbing: format/pktline: trace packetsAyman Bagabas2023-11-152-0/+7
| | |
| * | internal: add trace packageAyman Bagabas2023-11-152-0/+150
|/ / | | | | | | | | This adds a generic tracing package to log messages to output if target is enabled.
* | Merge pull request #922 from aymanbagabas/cleanup-ioutilPaulo Gomes2023-11-148-38/+4
|\ \ | | | | | | utils: remove ioutil.Pipe and use std library io.Pipe
| * | utils: remove ioutil.Pipe and use std library io.PipeAyman Bagabas2023-11-138-38/+4
|/ / | | | | | | ioutil.Pipe literally calls io.Pipe.
* | Merge pull request #918 from ↵Paulo Gomes2023-11-092-3/+3
|\ \ | | | | | | | | | | | | 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
| * | build: bump golang.org/x/net from 0.17.0 to 0.18.0dependabot[bot]2023-11-092-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #917 from ↵Paulo Gomes2023-11-092-4/+4
|\ \ | | | | | | | | | | | | 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
| * | build: bump golang.org/x/crypto from 0.14.0 to 0.15.0dependabot[bot]2023-11-092-4/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #914 from aymanbagabas/cli-gomodPaulo Gomes2023-11-076-6/+179
|\ \ | | | | | | cli: separate go module for cli
| * | build: fix go-git binary buildAyman Bagabas2023-11-071-2/+2
| | |
| * | build: add cli/go-git to dependabotAyman Bagabas2023-11-071-0/+7
| | |
| * | cli: separate go module for cliAyman Bagabas2023-11-074-4/+170
|/ /
* | Merge pull request #908 from pjbgf/refPaulo Gomes2023-11-072-113/+79
|\ \ | | | | | | plumbing: format/packfile, Refactor patch delta
| * | plumbing: format/packfile, Refactor patch deltaPaulo Gomes2023-11-062-113/+79
|/ / | | | | | | | | | | The changes aim to simplify the code and reduce duplication. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | Merge pull request #906 from ↵Paulo Gomes2023-11-062-3/+3
|\ \ | | | | | | | | | | | | 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
| * | build: bump golang.org/x/text from 0.13.0 to 0.14.0dependabot[bot]2023-11-062-3/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge pull request #907 from ↵Paulo Gomes2023-11-062-3/+3
|\ \ | | | | | | | | | | | | 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
| * | build: bump golang.org/x/sys from 0.13.0 to 0.14.0dependabot[bot]2023-11-062-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | Merge pull request #799 from pjbgf/perf2Paulo Gomes2023-11-064-61/+276
|\ \ \ | |/ / |/| | plumbing: Optimise memory consumption for filesystem storage
| * | plumbing: Optimise memory consumption for filesystem storagePaulo Gomes2023-10-283-50/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * | *: Improve BenchmarkPlainClonePaulo Gomes2023-10-281-11/+16
| | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #896 from aymanbagabas/update-server-infoPaulo Gomes2023-11-036-4/+332
|\ \ \ | | | | | | | | Implement upload-server-info
| * | | git: implement upload-server-info. Fixes #731Ayman Bagabas2023-11-036-4/+332
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | This adds UpdateServerInfo along with a new go-git command to generate info files to help git dumb http serve refs and their objects. This also updates the docs to reflect this. Docs: https://git-scm.com/docs/git-update-server-info Fixes: https://github.com/go-git/go-git/issues/731
* | | Merge pull request #901 from anandf/fix_ssh_proxy_nil_dereferencePaulo Gomes2023-11-022-5/+27
|\ \ \ | |/ / |/| | plumbing: transport/ssh, Fix nil pointer dereference caused when an unreachable proxy server is set. Fixes #900
| * | plumbing: transport/ssh, Fix nil pointer dereference caused when an ↵Anand Francis Joseph2023-11-022-5/+27
|/ / | | | | | | | | | | unreachable proxy server is set. Fixes #900 Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
* | Merge pull request #875 from adityasaky/fix-non-branch-ff-fetchPaulo Gomes2023-10-263-4/+145
|\ \ | | | | | | remote: Flip clause for fast-forward only check
| * | git: remote, flip branch check to not-tag checkAditya Sirish2023-10-262-3/+144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In remote.updateLocalReferenceStorage, this commit updates a check to see if the reference is for a branch (in refs/heads) to checking the reference is not a tag. This change ensures that the subsequent fast-forward only handling clauses apply to references that are not standard branches stored in refs/heads. Signed-off-by: Aditya Sirish <aditya@saky.in>
| * | build: Add 'git' as valid commit msg schemeAditya Sirish2023-10-131-1/+1
| | | | | | | | | | | | Signed-off-by: Aditya Sirish <aditya@saky.in>
* | | Merge pull request #890 from go-git/dependabot/github_actions/actions/checkout-4Paulo Gomes2023-10-263-3/+3
|\ \ \ | | | | | | | | build: bump actions/checkout from 3 to 4
| * | | build: bump actions/checkout from 3 to 4dependabot[bot]2023-10-253-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* | | | Merge pull request #888 from ↵Paulo Gomes2023-10-262-3/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | go-git/dependabot/go_modules/github.com/skeema/knownhosts-1.2.1 build: bump github.com/skeema/knownhosts from 1.2.0 to 1.2.1
| * | | | build: bump github.com/skeema/knownhosts from 1.2.0 to 1.2.1dependabot[bot]2023-10-262-3/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [github.com/skeema/knownhosts](https://github.com/skeema/knownhosts) from 1.2.0 to 1.2.1. - [Commits](https://github.com/skeema/knownhosts/compare/v1.2.0...v1.2.1) --- updated-dependencies: - dependency-name: github.com/skeema/knownhosts dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
* | | | Merge pull request #891 from go-git/dependabot/github_actions/actions/setup-go-4Paulo Gomes2023-10-262-2/+2
|\ \ \ \ | | | | | | | | | | build: bump actions/setup-go from 3 to 4
| * | | | build: bump actions/setup-go from 3 to 4dependabot[bot]2023-10-252-2/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3 to 4. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* | | | Merge pull request #887 from ↵Paulo Gomes2023-10-262-3/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | go-git/dependabot/go_modules/github.com/google/go-cmp-0.6.0 build: bump github.com/google/go-cmp from 0.5.9 to 0.6.0
| * | | build: bump github.com/google/go-cmp from 0.5.9 to 0.6.0dependabot[bot]2023-10-252-3/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [github.com/google/go-cmp](https://github.com/google/go-cmp) from 0.5.9 to 0.6.0. - [Release notes](https://github.com/google/go-cmp/releases) - [Commits](https://github.com/google/go-cmp/compare/v0.5.9...v0.6.0) --- updated-dependencies: - dependency-name: github.com/google/go-cmp dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
* | | Merge pull request #879 from pjbgf/create-dependabot-configPaulo Gomes2023-10-251-0/+15
|\ \ \ | |/ / |/| | Add dependabot configuration file
| * | build: Add dependabot configurationPaulo Gomes2023-10-131-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configure dependabot to check for Go updates daily and GitHub actions weekly. The configuration sets the commit prefix, so that it aligns with the contributing guidelines. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | | Merge pull request #869 from zeripath/graph-generation-2v5.10.0Paulo Gomes2023-10-1317-58/+892
|\ \ \ | |/ / |/| | plumbing: commitgraph, Add generation v2 support