aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * plumbing: commitgraph, Add generation v2 supportAndrew Thornton2023-10-1217-58/+892
| | | | | | | | | | | | | | | | This PR adds in support for generation v2 support and a couple of new walkers to match --date-order etc options on log. This PR also fixes a bug in the chain code and adds more tests. Signed-off-by: Andrew Thornton <art27@cantab.net>
* | Merge pull request #873 from ↵Paulo Gomes2023-10-132-7/+7
|\ \ | |/ |/| | | | | go-git/dependabot/go_modules/golang.org/x/net-0.17.0 build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0
| * build: bump golang.org/x/net from 0.15.0 to 0.17.0Paulo Gomes2023-10-132-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.17.0. - [Commits](https://github.com/golang/net/compare/v0.15.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | Merge pull request #866 from makkes/better-error-handlingPaulo Gomes2023-10-123-4/+124
|\ \ | |/ |/| Improve handling of remote errors
| * plumbing: transport/common, Improve handling of remote errorsMax Jonas Werner2023-10-123-4/+124
| | | | | | | | | | | | | | | | | | | | | | Instead of simply returning the first line that the remote returned, go-git now actively searches all of stderr for lines that may contain a more actionable error message and returns that. In addition, this change adds a case to map the GitLab-specific error message to an ErrRepositoryNotFound error. Signed-off-by: Max Jonas Werner <mail@makk.es>
* | Merge pull request #867 from pjbgf/commit-checkerPaulo Gomes2023-10-091-0/+30
|\ \ | | | | | | build: Add github workflow to check commit message format
| * | build: Add github workflow to check commit message formatPaulo Gomes2023-10-091-0/+30
|/ / | | | | | | | | | | Adds automation to confirm the commit messages align with the contributing guidelines. Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | Merge pull request #868 from pjbgf/fix-fuzzPaulo Gomes2023-10-092-5/+34
|\ \ | | | | | | plumbing: protocol/packp, Add validation for decodeLine
| * | plumbing: protocol/packp, Add validation for decodeLinePaulo Gomes2023-10-072-5/+34
| |/ | | | | | | Signed-off-by: Paulo Gomes <pjbgf@linux.com>
* | Merge pull request #860 from enverbisevac/masterPaulo Gomes2023-10-0811-173/+353
|\ \ | | | | | | add clone --shared feature
| * | git: clone --shared implementedenverbisevac2023-10-0811-173/+353
| | |
* | | Merge pull request #854 from zeripath/graph-chainPaulo Gomes2023-10-0820-396/+1607
|\ \ \ | |_|/ |/| | plumbing: commitgraph, Allow reading commit-graph chains
| * | plumbing: commitgraph, fix types and handle commit-graph-chainsAndrew Thornton2023-10-0820-396/+1607
|/ / | | | | | | | | | | | | | | | | Unfortunately the original variant makes some incorrect typing assumptions about commit-graphs which make handling graph chains difficult to do correctly. This creates a new subpackage and deprecates the old one. It then adds support commit graph chains. Signed-off-by: Andrew Thornton <art27@cantab.net>
* | Merge pull request #858 from 0x34d/fuzzing-cleanupPaulo Gomes2023-10-064-14/+74
|\ \ | | | | | | *: add cifuzz and update fuzzers
| * | [fuzzing] cifuzz, update fuzzers, bug fixArjun Singh2023-10-064-14/+74
| |/ | | | | | | Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
* | Merge pull request #761 from liwenqiu/parse-commit-encoding-headerPaulo Gomes2023-10-042-4/+25
|\ \ | |/ |/| plumbing: parse the encoding header of the commit object
| * plumbing: parse the encoding header of the commit objectliwenqiu2023-10-042-4/+25
| | | | | | | | other part can re-code the commit message according to the encoding to this encoding info
* | Merge pull request #855 from 0x34d/fuzzingPaulo Gomes2023-10-039-0/+94
|\ \ | |/ |/| fuzzing : fuzz testing support for oss-fuzz integration
| * fuzzing : fuzz testing support for oss-fuzz integrationArjun Singh2023-10-029-0/+94
| | | | | | | | Signed-off-by: Arjun Singh <ajsinghyadav00@gmail.com>
* | Merge pull request #853 from zeripath/graph-sha256Paulo Gomes2023-10-012-13/+31
|\ \ | | | | | | plumbing: commitgraph, allow SHA256 commit-graphs