Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitaly.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-29Implement tooling for importing a git repo to Neo4Jsmh-repo-graph-dbSami Hiltunen
This implements tooling to import a Git repository into Neo4J in order to prototype how a query language would work with Git data and how we'd model the data.
2023-06-06Merge branch 'pks-ci-fix-macos-runner' into 'master'Patrick Steinhardt
ci: Update to macOS M1 runners See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5881 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: Sami Hiltunen <shiltunen@gitlab.com>
2023-06-06Merge branch 'kn-logrus-update' into 'master'karthik nayak
mod: Update logrus to v1.9.3 Closes #5092 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5877 Merged-by: karthik nayak <knayak@gitlab.com> Approved-by: Toon Claes <toon@gitlab.com>
2023-06-06Merge branch 'pks-storage-repository' into 'master'Toon Claes
storage: Refactor code to contain knowledge of repo paths in a single package See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5863 Merged-by: Toon Claes <toon@gitlab.com> Approved-by: Toon Claes <toon@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Pavlo Strokov <pstrokov@gitlab.com> Co-authored-by: Patrick Steinhardt <psteinhardt@gitlab.com>
2023-06-06Merge branch 'jt-object-pool-disconnect-refactor' into 'master'Quang-Minh Nguyen
objectpool: Refactor alternates file parsing See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5871 Merged-by: Quang-Minh Nguyen <qmnguyen@gitlab.com> Approved-by: Quang-Minh Nguyen <qmnguyen@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Justin Tobler <jtobler@gitlab.com> Co-authored-by: Justin Tobler <jtobler@gitlab.com>
2023-06-06Merge branch 'topic/improve-merge-errors' into 'master'James Fargher
Fixed: UserMergeBranch loses error messages from the merge operation See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5777 Merged-by: James Fargher <proglottis@gmail.com> Approved-by: James Fargher <proglottis@gmail.com> Reviewed-by: James Fargher <proglottis@gmail.com> Reviewed-by: OK_MF <oski.kervinen@m-files.com> Co-authored-by: Oski Kervinen <oski.kervinen@m-files.com>
2023-06-06Merge branch ↵karthik nayak
'5036-introduce-structured-error-definitions-for-gettreeentries' into 'master' proto: Add new message `GetTreeEntriesError` See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5827 Merged-by: karthik nayak <knayak@gitlab.com> Approved-by: Christian Couder <chriscool@tuxfamily.org> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: karthik nayak <knayak@gitlab.com>
2023-06-06ci: Update to macOS M1 runnersPatrick Steinhardt
GitLab has recently deprecated the Intel-based macOS runners. As we are still using them as part of our pipeline the consequence is that the pipelines are now broken. Fix this by updating to the new M1 runners.
2023-06-06ci: Explicitly initialize Postgres database on macOSPatrick Steinhardt
With the move to M1-based macOS runners the Postgres database directory is about to be moved. Instead of relying on any hardcoded locations, let's convert the CI job to initialize our own database at a location controlled by us.
2023-06-06mod: Update logrus to v1.9.3Karthik Nayak
The latest release of logrus (v1.9.3) contains a fix for the panic in the Writer. Let us update to the new version.
2023-06-05Merge remote-tracking branch 'dev/master'GitLab Release Tools Bot
2023-06-05objectpool: Refactor alternates file parsingJustin Tobler
Currently `Disconnect()` implements its own means to parse a Git alternates file. This change refactors `Disconnect()` to use the already existing `stats.AlternatesInfoForRepository()`, which is much more thorough, to handle the parsing instead.
2023-06-05Automatic merge of gitlab-org/gitaly masterGitLab Bot
2023-06-05Merge branch 'local_restore_backup' into 'master'Toon Claes
Implement restores in backup.Repository See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5844 Merged-by: Toon Claes <toon@gitlab.com> Approved-by: Toon Claes <toon@gitlab.com> Reviewed-by: Will Chandler <wchandler@gitlab.com> Co-authored-by: James Fargher <jfargher@gitlab.com>
2023-06-05Merge branch 'ps-praefect-cli-track-repositories' into 'master'Sami Hiltunen
praefect: Migrate track-repositories sub-command Closes #5001 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5834 Merged-by: Sami Hiltunen <shiltunen@gitlab.com> Approved-by: Sami Hiltunen <shiltunen@gitlab.com> Approved-by: Will Chandler <wchandler@gitlab.com> Reviewed-by: Will Chandler <wchandler@gitlab.com> Reviewed-by: Sami Hiltunen <shiltunen@gitlab.com> Co-authored-by: Pavlo Strokov <pstrokov@gitlab.com>
2023-06-05Update changelog for 15.10.8GitLab Release Tools Bot
[ci skip]
2023-06-05Update changelog for 15.11.7GitLab Release Tools Bot
[ci skip]
2023-06-05Merge branch 'renovate-tools/goimports/golang.org-x-tools-0.x' into 'master'karthik nayak
tools/goimports: Update module golang.org/x/tools to v0.9.3 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5872 Merged-by: karthik nayak <knayak@gitlab.com> Approved-by: karthik nayak <knayak@gitlab.com> Co-authored-by: GitLab Renovate Bot <gitlab-bot@gitlab.com>
2023-06-05Merge branch 'renovate-tools/golangci-lint/golang.org-x-tools-0.x' into 'master'karthik nayak
tools/golangci-lint: Update module golang.org/x/tools to v0.9.3 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5873 Merged-by: karthik nayak <knayak@gitlab.com> Approved-by: karthik nayak <knayak@gitlab.com> Co-authored-by: GitLab Renovate Bot <gitlab-bot@gitlab.com>
2023-06-05Merge branch 'jt-rollout-git-2-41-0' into 'master'karthik nayak
git: Wire up Git v2.41 execution environment See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5874 Merged-by: karthik nayak <knayak@gitlab.com> Approved-by: karthik nayak <knayak@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Co-authored-by: Justin Tobler <jtobler@gitlab.com>
2023-06-05Update changelog for 16.0.2GitLab Release Tools Bot
[ci skip]
2023-06-03git: Wire up Git v2.41 execution environmentJustin Tobler
Wire up the Git v2.41 execution environment so that we can toggle between the v2.40 and v2.41 release tracks.
2023-06-02Makefile: Build and install Git v2.41.0Justin Tobler
Build and install a new bundled Git version for the v2.41 release track.
2023-06-02Merge branch 'smh-error-dbl-commit-rollbak' into 'master'Toon Claes
Error when double committing or rollbacking a transaction See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5841 Merged-by: Toon Claes <toon@gitlab.com> Approved-by: Will Chandler <wchandler@gitlab.com> Co-authored-by: Sami Hiltunen <shiltunen@gitlab.com>
2023-06-02Merge branch 'git-version-template' into 'master'Patrick Steinhardt
template: Add template fot Git version upgrade See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5867 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: karthik nayak <knayak@gitlab.com> Co-authored-by: Karthik Nayak <knayak@gitlab.com>
2023-06-02Merge branch 'renovate/github.com-protonmail-go-crypto-digest' into 'master'Pavlo Strokov
go: Update github.com/ProtonMail/go-crypto digest to 6f98819 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5849 Merged-by: Pavlo Strokov <pstrokov@gitlab.com> Approved-by: Pavlo Strokov <pstrokov@gitlab.com> Co-authored-by: GitLab Renovate Bot <gitlab-bot@gitlab.com>
2023-06-02storage: Simplify tests for determining pool repositoriesPatrick Steinhardt
Many of the tests to determine pool repositories are duplicated across the functions to check for either a Praefect-based or Rails-based pool path. Let's refactor them to instead test both functions from a single set of test cases.
2023-06-02git/stats: Move knowledge of pool paths into storage packagePatrick Steinhardt
Same as the preceding commit, this commit moves the knowledge around pool paths from the stats package into the storage package. This ensures that all knowledge around repository paths is neatly contained in a single file.
2023-06-02praefectutil: Move functionality relating to storage pathsPatrick Steinhardt
The praefectutil package contains a set of functions that compute and classify repository paths for Praefect's rewritten replica paths. They had to be split out into a separate package given that they're also used by Gitaly code in order to figure out whether a repository is an object pool or not. Furthermore, the code to figure out whether a repository is an object pool or not is also partially contained in the stats package, which adds even more to the confusion as it is now split up across multiple packages. Move the computations for Praefect paths into our storage package. This makes for a better fit as this package should be the only source of truth for where repositories are located anyway, and is already used by both Praefect and Gitaly. The next commit will also move the code from the stats package in here to make the knowledge neatly contained in a single place.
2023-06-02helper: Move `RepoPathEqual()` into storage modulePatrick Steinhardt
Move the `RepoPathEqual()` helper function into the storage module. This is a more natural fit given that the functionality acts on the storage repository interface and contains knowledge around storage paths.
2023-06-02repository: Move GitRepo interface into storage packagePatrick Steinhardt
The `repository.GitRepo` interface provides a set of functions that allow us to locate a repository in our storage. It lives in a separate package outside of the `internal/git` module in order to avoid a set of cyclic dependencies. The current location is kind of weird though, as this interface is inherently tied to our storage details instead of being a generic Git thing. Move the definition of the interface into `internal/gitaly/storage` so that it is defined close to where it is used. This should also be a relatively safe location as any package that depends on the interface should implicitly already depend on the storage package given that it will typically be passed down into any kind of storage locator. While at it, rename it to `storage.Repository`.
2023-06-02Merge branch 'pks-go-badger-v4' into 'master'Sami Hiltunen
go.mod: Update Badger to v4.1.0 Closes #4890 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5864 Merged-by: Sami Hiltunen <shiltunen@gitlab.com> Approved-by: Quang-Minh Nguyen <qmnguyen@gitlab.com> Approved-by: Sami Hiltunen <shiltunen@gitlab.com> Co-authored-by: Patrick Steinhardt <psteinhardt@gitlab.com>
2023-06-02template: Add template fot Git version upgradeKarthik Nayak
Add a new issue template for the Git version upgrade. This should help us streamline our Git updates more.
2023-06-02Merge branch 'smh-move-packs-in-place' into 'master'Sami Hiltunen
Apply logged pack files to repository without copying Closes #5046 See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5846 Merged-by: Sami Hiltunen <shiltunen@gitlab.com> Approved-by: karthik nayak <knayak@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Sami Hiltunen <shiltunen@gitlab.com> Reviewed-by: karthik nayak <knayak@gitlab.com>
2023-06-02Merge branch 'kn-fix-list-conflict-files' into 'master'Patrick Steinhardt
conflicts: Use resolved object IDs See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5869 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Co-authored-by: Karthik Nayak <knayak@gitlab.com>
2023-06-02Merge branch 'jt-refactor-alternates-disconnect' into 'master'Patrick Steinhardt
objectpool: Make alternates disconnection reusable See merge request https://gitlab.com/gitlab-org/gitaly/-/merge_requests/5845 Merged-by: Patrick Steinhardt <psteinhardt@gitlab.com> Approved-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Patrick Steinhardt <psteinhardt@gitlab.com> Reviewed-by: Justin Tobler <jtobler@gitlab.com> Reviewed-by: karthik nayak <knayak@gitlab.com> Co-authored-by: Justin Tobler <jtobler@gitlab.com>
2023-06-02Applied 3 error tersification suggestionsJames Fargher
2023-06-02objectpool: Add `objectpool.Disconnect()` testsJustin Tobler
Previously object pool disconnection was tested through its RPC tests. Now that this logic has been factored out into `Disconnect()` testing can be done at this layer. This change refactors the RPC tests to be suitable for direct invocations of `Disconnect()`
2023-06-02objectpool: Make alternates disconnection reusableJustin Tobler
The `DisconnectGitAlternates()` RPC handles disconnecting a repository from an object pool. In the future, the `ReplicateRepository()` RPC will need to also be capable of disconnecting a target repository from its object pool when the source repository is not linked. This change factors the object pool disconnection logic out of the RPC and moves it into the `git/objectpool` package.
2023-06-02conflicts: Use resolved object IDsKarthik Nayak
In `conflictFilesWithGitMergeTree` we replace the commit OID with the filename. Currently we're using the OID from the request, but this could be the shortened OID. Let's instead use the fully resolved OID.
2023-06-01tools/golangci-lint: Update module golang.org/x/tools to v0.9.3GitLab Renovate Bot
2023-06-01tools/goimports: Update module golang.org/x/tools to v0.9.3GitLab Renovate Bot
2023-06-01praefect: Sub-command interruption with SIGINTPavlo Strokov
Execution of any sub-commands should be possible to interrupt by sending SIGINT signal to the process. It is so for all except the 'serve' command as it has its own handling mechanism.
2023-06-01go.mod: Update Badger to v4.1.0Patrick Steinhardt
Badger has bumped its major version from v3 series to v4. This bump is mostly uninteresting, but there are two interesting changes in there: - They have upgraded the minimum required Go version to 1.19. This has kept us from upgrading Badger given that we still supported Go 1.18. This has changed with a17fb7823 (go.mod: Use Go 1.19 as minimum required version, 2023-05-23) though, so we're unblocked with the upgrade. - They have changed their version schema from CalVer to SemVer, meaning that future releases should be more indicative of real major changes. Other than that there are no real changes that would be interesting to us.
2023-06-01praefect: Sub-command 'serve' doesn't accept positional argumentsPavlo Strokov
2023-06-01praefect: Refactor sub-command invocation in testPavlo Strokov
Invocations of sub-command in test now use NewApp() function that has all sub-commands registered on it and allows to verify more code for each test. Closes: #5001
2023-06-01proto: Add new message `GetTreeEntriesError`Karthik Nayak
To provide structured errors in the GetTreeEntries RPC, we introduce a new message `GetTreeEntriesError`. This will be used in the subsequent commits. We also create `PathError` as a more generic error type in `proto/errors.proto` which allows us to define errors related to the provided path.
2023-06-01praefect: Write database close error into App.ErrWriterPavlo Strokov
If database close call producer an error it is now written into App.ErrWriter instead of os.Stderr. Part of: #5001
2023-06-01praefect: Remove old sub-command implementation leftoversPavlo Strokov
All sub-commands of Praefect were moved to a third party urfave/cli/v2 library. The old helper functions and an interface are removed as they are not used anymore. Also, the help text generated by new library now contains information about all sub-commands and doesn't need to be modified. The 'serve' sub-command can now be restricted to disallow arguments to be passed for it. Part of: #5001
2023-06-01praefect: Migrate track-repositories sub-commandPavlo Strokov
Migration of the 'track-repositories' sub-command from the old implementation to the new approach with usage of the third party urfave/cli/v2 third party library. The invocation of the command remains the same, but it has more descriptive representation when help is invoked. Also, it is possible now to invoke help only for the sub-command to see more details about it and its usage. Part of: #5001