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
2022-06-10Makefile: Update protoc to v21.1Patrick Steinhardt
Update protoc to v21.1. Note that this is quite a jump from our current v3.17.3. This isn't all that scary, but a result of upstream changing their versioning schema to drop the leading `3`. Our generated Go files remain unchanged.
2022-06-10Makefile: Update protoc-gen-go to v1.28.0Patrick Steinhardt
Update protoc-gen-go to v1.28.0. No noticable changes come with this release, and most notably there are no changes in our generated Go files.
2022-05-20Update go package name from v14 to v15John Cai
This commit changes the major version in the package name from v14 to v15 Updating go.mod & go.sum with new module name v15 Update Makefile to bump major version to v15 Update the gitaly package name in the Makefile. Also update gitaly-git2go-v14 -> gitaly-git2go-v15. We need to keep gitaly-git2go-v14 for a release however, for zero downtime upgrades. This pulls directly from a sha that is v14. Update package name from v14->v15 for auth, client, cmd, internal packages This commit changes the package name from v14 to v15 in go and proto files in the internal, auth, client, cmd packages. proto: Update major package number in package name tools: Change major version number in package name from v14 to v15 gitaly-git2go: Change the package name from v14 to v15 update module updater for v15 Update the documentation for the module updater to reflect v15
2022-05-09proto: Enforce comment-linting for message fieldsPatrick Steinhardt
Enforce that message fields must have a comment and add a placeholder for all instances where such a comment is missing.
2022-05-09proto: Enforce comment-linting for message definitionsPatrick Steinhardt
Enforce that message definitions must have a comment and add a placeholder for all instances where such a comment is missing.
2022-04-29Automatically lint proto filesJames Fargher
2022-01-28Add HTTP Host to all requests that use URLsJames Fargher
2021-10-06remote: Drop FetchInternalRemote RPCPatrick Steinhardt
The FetchInternalRemote RPC had been used internally to replicate repositories across different Gitaly nodes. At some point in time, this was converted to do a direct fetch though without an additional RPC call because as it turned out, doing inter-Gitaly mutating RPC calls is problematic in combination with transactions given that the remote side would now try to cast votes against another Gitaly. Nowadays, there are no callers left which use this RPC. Remove the deprecated `FetchInternalRemote()` call. The backing logic which is still internally called remains though for use in other parts of Gitaly. We may eventually want to find a better place for it to live. Changelog: removed
2021-09-13remote: Deprecate FetchInternalRemote RPCPatrick Steinhardt
The FetchInternalRemote RPC isn't used by anything anymore. Let's deprecate it such that we can remove it in the next release. Changelog: deprecation
2021-08-20remote: Remove unused ListRemotes protobuf messagesPatrick Steinhardt
The ListRemotes RPC call has already been removed quite a while ago, but its messages were not cleaned up back then. Remove them now.
2021-08-20remote: Remove support for on-disk remotes in FindRemoteRootRefPatrick Steinhardt
On-disk remotes have been deprecated, and no upstream callers remain which use them anymore. Remove support for them in FindRemoteRootRef by dropping the "remote" parameter. Changelog: removed
2021-08-20remote: Remove support for on-disk remotes in UpdateRemoteMirrorPatrick Steinhardt
On-disk remotes have been deprecated, and no upstream callers remain which use them anymore. Remove support for them in UpdateRemoteMirror by dropping the "ref_name" parameter from the request. Note that "ref_name" was misnamed and really was the remote that should have been fetched. Changelog: removed
2021-08-20remote: Remove `AddRemote()` RPCPatrick Steinhardt
On-disk remotes have been deprecated, and no upstream callers remain which use them anymore. Remove the `AddRemote()` RPC and rename the file where it had been previously contained in to "find_remote_repository.go" after the only remaining RPC in there. Changelog: removed
2021-08-20remote: Remove `RemoveRemote()` RPCPatrick Steinhardt
On-disk remotes have been deprecated, and no upstream callers remain which use them anymore. Remove the `RemoveRemote()` RPC. Changelog: removed
2021-06-11GeneratedMikhail Mazurskiy
2021-06-08remote: Allow for in-memory remotes in UpdateRemoteMirrorPatrick Steinhardt
As we're about to phase out usage of on-disk remotes, all RPCs which interact with them need to be converted to use in-memory remotes. `UpdateRemoteMirror()` doesn't yet have the ability to use them. Implement support for in-memory remotes by configuring the remote via a set of Git configuration environment variables. Until downstream callers have been converted from on-disk to in-memory remotes, both ways will stay supported. Afterwards, we can drop the `RefName` parameter, which really is the remote name. Changelog: added
2021-06-08proto: Use Go identifiers for UpdateRemoteMirror documentationPatrick Steinhardt
When generating Go code from protobuf messages, we always have a mismatch between declared variables and generated identifiers. This leads to a mismatch in generated documentation, where the variable documentation does not start with the Go variable name as it is best practice in Go. Because of this, we have started to use Go identifiers in protobuf documentation to fix the discrepancy. Update documentation of variables in messages related to UpdateRemoteMirror to do so consistenly.
2021-05-27Create module v14 gitaly versionPavlo Strokov
The new "v14" version of the Gitaly module is named to match the next GitLab release. The module versioning is needed in order to pull gitaly as a dependency in other projects. The change updates all imports to include v14 version. The go.mod file was modified as well after go mod tidy execution. And the changes in dependency licenses are reflected in the NOTICE file. Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/3177
2021-04-28remote: Add RemoteUrl parameter to FindRemoteRootRefPatrick Steinhardt
We're in the process of getting rid of on-disk remotes, instead of asking the caller to always pass enough context, such that Gitaly is able to construct an in-memory remote. FindRemoteRootRef is another of these RPCs which currently only takes a remote name and thus relies on on-disk state. This commit thus adds a new `RemoteUrl` parameter to the RPC request such that callers can provide a URL instead of a name. To enable authentication, we also add support for setting up HTTP headers.
2021-04-28proto: Document FindRemoteRootRef RPCPatrick Steinhardt
The FindRemoteRootRef RPC doesn't have any documentation in the protobuf sources. Add some.
2021-04-08remote: Fix UpdateRemoteMirror having transactional semanticsPatrick Steinhardt
While UpdateRemoteMirror performs a mutating action on a remote repository which potentially is not under our control, it will never modify the local target repository. It thus doesn't make a lot of sense to treat it as a mutator: it's never mutating local state, and if it targets a remote repository which is hosted by Gitaly, too, then it'd use normal routing and thus have mutator semantics on that remote. Relabel the RPC as an accessor to stop it from having transactional semantics: we never create any transactions as nothing changes, which causes us to always schedule replication jobs. And second, doing the same push from all three nodes at once is definitely not going to work.
2021-03-22document UpdateRemoteMirror's protobuf definitionsSami Hiltunen
This commit adds documentation on UpdateRemoteMirror's protobuf definitions.
2021-03-04proto: Remove RemoteService.ListRemotes RPCPatrick Steinhardt
Almost two years ago, we've grown a new `RemoteService/ListRemotes` RPC. fd1fae703 (Merge branch 'list-git-remotes' into 'master', 2019-04-10). The intent of this RPC is to list all remotes which are currently set up in a given repository, where the use case is to avoid recreating remotes in case they already do exist. That usecase has never materialized though: Rails ensures that a remote exists by simply recreating it every time it's needed. Thus, no users have surfaced since its introduction. We're currently in the process of deprecating use of remotes altogether in Gitaly: they require on-disk state which is hard to track. They require Rails to maintain additional state in Gitaly without providing much of a benefit. And ultimately, Rails always has all info about a given remote at hand anyway at any point in time because otherwise it wouldn't be able to recreate remotes. Instead, Rails will be migrated to use anonymous remotes instead by only providing an URL, a refspec and credentials. We then directly fetch via these parameters without creating any remotes. Let's thus drop the `ListRemotes` RPC: we do not want to encourage anybody to start using it now that remotes are about to go away.
2020-07-22Praefect: storage scoped RPCs not handled properlyPavlo Strokov
Scope of the FindRemoteRepository RPC call changed to STORAGE. Storage value of the incoming message can be changed by new 'SetStorage' method. Human-readable string for 'Scope' type with default string formatting. Closes: https://gitlab.com/gitlab-org/gitaly/-/issues/2442
2020-06-06How to handle proxying FindRemoteRepositoryPavlo Strokov
It is a first steps towards making FindRemoteRepository RPC to become STORAGE scoped. It is needed to simplify routing in Praefect and omit need for Praefect to handle this RPC as a special case. After change is done the request will be routed into one of the Gitalies and handled there. The Git is not needed to be installed on Prafect node in order to support the implementation of only single RPC. Part of: https://gitlab.com/gitlab-org/gitaly/-/issues/2442
2020-04-20`Ref` objects receive the `canonical_name` from RuggedRobert Speicher
The `Gitlab::Git::Ref` initializer, which `Branch` inherits, already removes the `refs/heads|tags/` prefix from the provided name via `Gitlab::Git.ref_name`, so there should be no functional difference to providing the "canonical name". In a future commit, we'll store the canonical name in addition to the non-prefixed name.
2020-03-10Task proto has dependency to already generated source code.Pavlo Strokov
Extracting lint-related stuff into separate proto file. It is required in order to have proper working proto-linter. Previously it was using compiled files for verification and it fails in some cases (https://gitlab.com/gitlab-org/gitaly/-/jobs/459024976). lint.proto extracted from shared.proto and contains lint-related declarations. New task `proto-lint` added to compile source code that is required by `protoc-gen-gitaly`. `protoc-gen-gitaly` fixed to use proper proto source data. Regeneration of all proto-related files.
2020-02-20Optionally delete divergent refs when mirroringRobert Speicher
This updates RemoteService and RemoteMirror to take a `delete_divergent_refs` parameter which defaults to `true` (the current behavior), and allows disabling the behavior on a per-mirror basis. The option will be provided by the client and will be behind a feature flag there.
2020-02-06Use field annotation for target and additional repositoryMateusz Nowotyński
Instead of setting OID in the RPC method use annotation in the field (`target_repository` and `additional_repository`). Having only this 2 annotations created a problem with messages that can be either target or additional repository (for example `ObjectPool`). Those are marked with `repository` annotation and `target_repository` and `additional_repository` are used in the parent messages. Signed-off-by: Mateusz Nowotyński <maxmati4@gmail.com> Signed-off-by: jramsay <maxmati4@gmail.com>
2019-07-25Generate embedded Go and Ruby proto stubsJacob Vosmaer