1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# Generated by the protocol buffer compiler. DO NOT EDIT!
# Source: repository.proto for package 'gitaly'
require 'grpc'
require 'repository_pb'
module Gitaly
module RepositoryService
# RepositoryService is a service providing RPCs accessing repositories as a whole.
class Service
include ::GRPC::GenericService
self.marshal_class_method = :encode
self.unmarshal_class_method = :decode
self.service_name = 'gitaly.RepositoryService'
rpc :RepositoryExists, ::Gitaly::RepositoryExistsRequest, ::Gitaly::RepositoryExistsResponse
# RepackIncremental is deprecated in favor of OptimizeRepository.
rpc :RepackIncremental, ::Gitaly::RepackIncrementalRequest, ::Gitaly::RepackIncrementalResponse
# RepackFull is deprecated in favor of OptimizeRepository.
rpc :RepackFull, ::Gitaly::RepackFullRequest, ::Gitaly::RepackFullResponse
# MidxRepack is deprecated in favor of OptimizeRepository.
rpc :MidxRepack, ::Gitaly::MidxRepackRequest, ::Gitaly::MidxRepackResponse
# GarbageCollect is deprecated in favor of OptimizeRepository.
rpc :GarbageCollect, ::Gitaly::GarbageCollectRequest, ::Gitaly::GarbageCollectResponse
# WriteCommitGraph is deprecated in favor of OptimizeRepository.
rpc :WriteCommitGraph, ::Gitaly::WriteCommitGraphRequest, ::Gitaly::WriteCommitGraphResponse
rpc :RepositorySize, ::Gitaly::RepositorySizeRequest, ::Gitaly::RepositorySizeResponse
rpc :ApplyGitattributes, ::Gitaly::ApplyGitattributesRequest, ::Gitaly::ApplyGitattributesResponse
# FetchRemote fetches references from a remote repository into the local
# repository.
rpc :FetchRemote, ::Gitaly::FetchRemoteRequest, ::Gitaly::FetchRemoteResponse
rpc :CreateRepository, ::Gitaly::CreateRepositoryRequest, ::Gitaly::CreateRepositoryResponse
rpc :GetArchive, ::Gitaly::GetArchiveRequest, stream(::Gitaly::GetArchiveResponse)
rpc :HasLocalBranches, ::Gitaly::HasLocalBranchesRequest, ::Gitaly::HasLocalBranchesResponse
# FetchSourceBranch fetches a branch from a second (potentially remote)
# repository into the given repository.
rpc :FetchSourceBranch, ::Gitaly::FetchSourceBranchRequest, ::Gitaly::FetchSourceBranchResponse
rpc :Fsck, ::Gitaly::FsckRequest, ::Gitaly::FsckResponse
rpc :WriteRef, ::Gitaly::WriteRefRequest, ::Gitaly::WriteRefResponse
rpc :FindMergeBase, ::Gitaly::FindMergeBaseRequest, ::Gitaly::FindMergeBaseResponse
rpc :CreateFork, ::Gitaly::CreateForkRequest, ::Gitaly::CreateForkResponse
rpc :CreateRepositoryFromURL, ::Gitaly::CreateRepositoryFromURLRequest, ::Gitaly::CreateRepositoryFromURLResponse
# CreateBundle creates a bundle from all refs
rpc :CreateBundle, ::Gitaly::CreateBundleRequest, stream(::Gitaly::CreateBundleResponse)
# CreateBundleFromRefList creates a bundle from a stream of ref patterns.
# When the bundle would be empty the FailedPrecondition error code is returned.
rpc :CreateBundleFromRefList, stream(::Gitaly::CreateBundleFromRefListRequest), stream(::Gitaly::CreateBundleFromRefListResponse)
# FetchBundle fetches references from a bundle into the local repository.
# Refs will be mirrored to the target repository with the refspec
# "+refs/*:refs/*" and refs that do not exist in the bundle will be removed.
rpc :FetchBundle, stream(::Gitaly::FetchBundleRequest), ::Gitaly::FetchBundleResponse
rpc :CreateRepositoryFromBundle, stream(::Gitaly::CreateRepositoryFromBundleRequest), ::Gitaly::CreateRepositoryFromBundleResponse
# GetConfig reads the target repository's gitconfig and streams its contents
# back. Returns a NotFound error in case no gitconfig was found.
rpc :GetConfig, ::Gitaly::GetConfigRequest, stream(::Gitaly::GetConfigResponse)
rpc :FindLicense, ::Gitaly::FindLicenseRequest, ::Gitaly::FindLicenseResponse
rpc :GetInfoAttributes, ::Gitaly::GetInfoAttributesRequest, stream(::Gitaly::GetInfoAttributesResponse)
rpc :CalculateChecksum, ::Gitaly::CalculateChecksumRequest, ::Gitaly::CalculateChecksumResponse
# Cleanup is deprecated in favor of OptimizeRepository.
rpc :Cleanup, ::Gitaly::CleanupRequest, ::Gitaly::CleanupResponse
rpc :GetSnapshot, ::Gitaly::GetSnapshotRequest, stream(::Gitaly::GetSnapshotResponse)
rpc :CreateRepositoryFromSnapshot, ::Gitaly::CreateRepositoryFromSnapshotRequest, ::Gitaly::CreateRepositoryFromSnapshotResponse
rpc :GetRawChanges, ::Gitaly::GetRawChangesRequest, stream(::Gitaly::GetRawChangesResponse)
rpc :SearchFilesByContent, ::Gitaly::SearchFilesByContentRequest, stream(::Gitaly::SearchFilesByContentResponse)
rpc :SearchFilesByName, ::Gitaly::SearchFilesByNameRequest, stream(::Gitaly::SearchFilesByNameResponse)
rpc :RestoreCustomHooks, stream(::Gitaly::RestoreCustomHooksRequest), ::Gitaly::RestoreCustomHooksResponse
rpc :BackupCustomHooks, ::Gitaly::BackupCustomHooksRequest, stream(::Gitaly::BackupCustomHooksResponse)
rpc :GetObjectDirectorySize, ::Gitaly::GetObjectDirectorySizeRequest, ::Gitaly::GetObjectDirectorySizeResponse
# RemoveRepository will move the repository to `+gitaly/tmp/<relative_path>_removed` and
# eventually remove it. This ensures that even on networked filesystems the
# data is actually removed even if there's someone still handling the data.
rpc :RemoveRepository, ::Gitaly::RemoveRepositoryRequest, ::Gitaly::RemoveRepositoryResponse
rpc :RenameRepository, ::Gitaly::RenameRepositoryRequest, ::Gitaly::RenameRepositoryResponse
rpc :ReplicateRepository, ::Gitaly::ReplicateRepositoryRequest, ::Gitaly::ReplicateRepositoryResponse
# OptimizeRepository performs all maintenance tasks in a repository to keep
# it in an efficient state. It cleans up stale data, repacks objects,
# updates auxiliary caches like commit-graphs and packs references. The
# optimizations performed are based on heuristics and will adapt to the
# repository's size. This RPC call is designed as a black-box such that
# Gitaly has complete control of the on-disk state of repositories.
rpc :OptimizeRepository, ::Gitaly::OptimizeRepositoryRequest, ::Gitaly::OptimizeRepositoryResponse
# PruneUnreachableObjects will prune all objects which aren't reachable from
# the repository's current set of references. Because pruning can only
# happen for objects which aren't packed, you are required to first run
# OptimizeRepository to explode any unreachable objects into loose objects.
#
# Furthermore, this RPC call has a grace period of 30 minutes: any
# unreachable loose objects must not have been accessed or modified in the
# last 30 minutes. This is a hard requirement to avoid repository corruption.
#
# To make proper use of this RPC you thus need to call OptimizeRepository,
# wait 30 minutes, and then call PruneUnreachableObjects.
rpc :PruneUnreachableObjects, ::Gitaly::PruneUnreachableObjectsRequest, ::Gitaly::PruneUnreachableObjectsResponse
# SetFullPath writes the "gitlab.fullpath" configuration into the
# repository's gitconfig. This is mainly to help debugging purposes in case
# an admin inspects the repository's gitconfig such that he can easily see
# what the repository name is.
rpc :SetFullPath, ::Gitaly::SetFullPathRequest, ::Gitaly::SetFullPathResponse
end
Stub = Service.rpc_stub_class
end
end
|