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
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2020-12-10 18:16:51 +0300
committerStan Hu <stanhu@gmail.com>2020-12-11 18:47:15 +0300
commit807702478431523c2fdb975cfba13c63969390c0 (patch)
tree013a23247178c8efbdbbfd99fe0ce9f2caa1726a /proto/repository-service.proto
parentb0e14676f3fafab9a8aca7edd28c864ddf131102 (diff)
Support cloning with an object pool in CreateFork
This is needed to support fast forking. When an object pool is provided, forking can cheap in terms of disk space and time since the clone only needs to fetch the references. The `git clone` can take in a `--reference <repository>` flag and will output an alternates file with absolute paths. To maintain the use of relative paths, after the fork is successful we recreate the alternates file. Relates to https://gitlab.com/gitlab-org/gitlab/-/issues/24523
Diffstat (limited to 'proto/repository-service.proto')
-rw-r--r--proto/repository-service.proto4
1 files changed, 4 insertions, 0 deletions
diff --git a/proto/repository-service.proto b/proto/repository-service.proto
index 24c3ea7fa..4650a79dc 100644
--- a/proto/repository-service.proto
+++ b/proto/repository-service.proto
@@ -397,6 +397,10 @@ message FindMergeBaseResponse {
message CreateForkRequest {
Repository repository = 1 [(target_repository)=true];
Repository source_repository = 2;
+ // Clone using an object pool to reduce object duplication.
+ // This pool repository must reside on the same storage shard
+ // as the target repository.
+ ObjectPool pool = 3 [(additional_repository)=true];
}
message CreateForkResponse {}