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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-07-20 12:55:51 +0300
commite8d2c2579383897a1dd7f9debd359abe8ae8373d (patch)
treec42be41678c2586d49a75cabce89322082698334 /lib/gitlab/gitaly_client
parentfc845b37ec3a90aaa719975f607740c22ba6a113 (diff)
Add latest changes from gitlab-org/gitlab@14-1-stable-eev14.1.0-rc42
Diffstat (limited to 'lib/gitlab/gitaly_client')
-rw-r--r--lib/gitlab/gitaly_client/blob_service.rb19
-rw-r--r--lib/gitlab/gitaly_client/blobs_stitcher.rb4
-rw-r--r--lib/gitlab/gitaly_client/commit_service.rb10
-rw-r--r--lib/gitlab/gitaly_client/conflicts_service.rb2
-rw-r--r--lib/gitlab/gitaly_client/list_blobs_adapter.rb21
-rw-r--r--lib/gitlab/gitaly_client/repository_service.rb17
-rw-r--r--lib/gitlab/gitaly_client/storage_settings.rb2
7 files changed, 54 insertions, 21 deletions
diff --git a/lib/gitlab/gitaly_client/blob_service.rb b/lib/gitlab/gitaly_client/blob_service.rb
index e4c8dc150a5..362ecbd845d 100644
--- a/lib/gitlab/gitaly_client/blob_service.rb
+++ b/lib/gitlab/gitaly_client/blob_service.rb
@@ -19,6 +19,25 @@ module Gitlab
consume_blob_response(response)
end
+ def list_blobs(revisions, limit: 0, bytes_limit: 0, dynamic_timeout: nil)
+ request = Gitaly::ListBlobsRequest.new(
+ repository: @gitaly_repo,
+ revisions: Array.wrap(revisions),
+ limit: limit,
+ bytes_limit: bytes_limit
+ )
+
+ timeout =
+ if dynamic_timeout
+ [dynamic_timeout, GitalyClient.medium_timeout].min
+ else
+ GitalyClient.medium_timeout
+ end
+
+ response = GitalyClient.call(@gitaly_repo.storage_name, :blob_service, :list_blobs, request, timeout: timeout)
+ GitalyClient::BlobsStitcher.new(GitalyClient::ListBlobsAdapter.new(response))
+ end
+
def batch_lfs_pointers(blob_ids)
return [] if blob_ids.empty?
diff --git a/lib/gitlab/gitaly_client/blobs_stitcher.rb b/lib/gitlab/gitaly_client/blobs_stitcher.rb
index 2f6d146b5c4..6c51b4cf8c6 100644
--- a/lib/gitlab/gitaly_client/blobs_stitcher.rb
+++ b/lib/gitlab/gitaly_client/blobs_stitcher.rb
@@ -35,8 +35,8 @@ module Gitlab
Gitlab::Git::Blob.new(
id: blob_data[:oid],
- mode: blob_data[:mode].to_s(8),
- name: File.basename(blob_data[:path]),
+ mode: blob_data[:mode]&.to_s(8),
+ name: blob_data[:path] && File.basename(blob_data[:path]),
path: blob_data[:path],
size: blob_data[:size],
commit_id: blob_data[:revision],
diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb
index 3d24b4d53a4..b894207f0aa 100644
--- a/lib/gitlab/gitaly_client/commit_service.rb
+++ b/lib/gitlab/gitaly_client/commit_service.rb
@@ -248,6 +248,16 @@ module Gitlab
consume_commits_response(response)
end
+ def list_commits(revisions)
+ request = Gitaly::ListCommitsRequest.new(
+ repository: @gitaly_repo,
+ revisions: Array.wrap(revisions)
+ )
+
+ response = GitalyClient.call(@repository.storage, :commit_service, :list_commits, request, timeout: GitalyClient.medium_timeout)
+ consume_commits_response(response)
+ end
+
def list_commits_by_oid(oids)
return [] if oids.empty?
diff --git a/lib/gitlab/gitaly_client/conflicts_service.rb b/lib/gitlab/gitaly_client/conflicts_service.rb
index fc40c23611a..300800189f1 100644
--- a/lib/gitlab/gitaly_client/conflicts_service.rb
+++ b/lib/gitlab/gitaly_client/conflicts_service.rb
@@ -49,7 +49,7 @@ module Gitlab
end
end
- response = GitalyClient.call(@repository.storage, :conflicts_service, :resolve_conflicts, req_enum, remote_storage: target_repository.storage, timeout: GitalyClient.medium_timeout)
+ response = GitalyClient.call(@repository.storage, :conflicts_service, :resolve_conflicts, req_enum, remote_storage: target_repository.storage, timeout: GitalyClient.long_timeout)
if response.resolution_error.present?
raise Gitlab::Git::Conflict::Resolver::ResolutionError, response.resolution_error
diff --git a/lib/gitlab/gitaly_client/list_blobs_adapter.rb b/lib/gitlab/gitaly_client/list_blobs_adapter.rb
new file mode 100644
index 00000000000..bba668e4dc6
--- /dev/null
+++ b/lib/gitlab/gitaly_client/list_blobs_adapter.rb
@@ -0,0 +1,21 @@
+# frozen_string_literal: true
+
+module Gitlab
+ module GitalyClient
+ class ListBlobsAdapter
+ include Enumerable
+
+ def initialize(rpc_response)
+ @rpc_response = rpc_response
+ end
+
+ def each
+ @rpc_response.each do |msg|
+ msg.blobs.each do |blob|
+ yield blob
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/lib/gitlab/gitaly_client/repository_service.rb b/lib/gitlab/gitaly_client/repository_service.rb
index 6a75096ff80..009aeaf868a 100644
--- a/lib/gitlab/gitaly_client/repository_service.rb
+++ b/lib/gitlab/gitaly_client/repository_service.rb
@@ -152,23 +152,6 @@ module Gitlab
)
end
- def rebase_in_progress?(rebase_id)
- request = Gitaly::IsRebaseInProgressRequest.new(
- repository: @gitaly_repo,
- rebase_id: rebase_id.to_s
- )
-
- response = GitalyClient.call(
- @storage,
- :repository_service,
- :is_rebase_in_progress,
- request,
- timeout: GitalyClient.fast_timeout
- )
-
- response.in_progress
- end
-
def squash_in_progress?(squash_id)
request = Gitaly::IsSquashInProgressRequest.new(
repository: @gitaly_repo,
diff --git a/lib/gitlab/gitaly_client/storage_settings.rb b/lib/gitlab/gitaly_client/storage_settings.rb
index f66dc3010ea..4cc0269673f 100644
--- a/lib/gitlab/gitaly_client/storage_settings.rb
+++ b/lib/gitlab/gitaly_client/storage_settings.rb
@@ -52,7 +52,7 @@ module Gitlab
@legacy_disk_path = File.expand_path(storage['path'], Rails.root) if storage['path']
storage['path'] = Deprecated
- @hash = storage.with_indifferent_access
+ @hash = ActiveSupport::HashWithIndifferentAccess.new(storage)
end
def gitaly_address