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:
Diffstat (limited to 'lib/gitlab/git/repository.rb')
-rw-r--r--lib/gitlab/git/repository.rb25
1 files changed, 16 insertions, 9 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb
index ed45d3eb030..71be986882c 100644
--- a/lib/gitlab/git/repository.rb
+++ b/lib/gitlab/git/repository.rb
@@ -337,9 +337,15 @@ module Gitlab
# Return repo size in megabytes
def size
- size = gitaly_repository_client.repository_size
+ if Feature.enabled?(:use_repository_info_for_repository_size)
+ bytes = gitaly_repository_client.repository_info.size
- (size.to_f / 1024).round(2)
+ (bytes.to_f / 1024 / 1024).round(2)
+ else
+ kilobytes = gitaly_repository_client.repository_size
+
+ (kilobytes.to_f / 1024).round(2)
+ end
end
# Return git object directory size in bytes
@@ -401,11 +407,12 @@ module Gitlab
newrevs = newrevs.uniq.sort
- @new_blobs ||= Hash.new do |h, revs|
- h[revs] = blobs(['--not', '--all', '--not'] + newrevs, with_paths: true, dynamic_timeout: dynamic_timeout)
- end
-
- @new_blobs[newrevs]
+ @new_blobs ||= {}
+ @new_blobs[newrevs] ||= blobs(
+ ['--not', '--all', '--not'] + newrevs,
+ with_paths: true,
+ dynamic_timeout: dynamic_timeout
+ ).to_a
end
# List blobs reachable via a set of revisions. Supports the
@@ -554,10 +561,10 @@ module Gitlab
# Limit of 0 means there is no limit.
def refs_by_oid(oid:, limit: 0, ref_patterns: nil)
wrapped_gitaly_errors do
- gitaly_ref_client.find_refs_by_oid(oid: oid, limit: limit, ref_patterns: ref_patterns)
+ gitaly_ref_client.find_refs_by_oid(oid: oid, limit: limit, ref_patterns: ref_patterns) || []
end
rescue CommandError, TypeError, NoRepository
- nil
+ []
end
# Returns url for submodule