diff options
author | Sean McGivern <sean@mcgivern.me.uk> | 2017-09-28 08:56:02 +0000 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2017-09-28 14:17:39 -0400 |
commit | 61b123aede4e23ffd2f357714903af949c59c82f (patch) | |
tree | 2bc394fcbe4ead5e977053d5e07289c45c5d3d62 | |
parent | cf072a90f8d67437663aa6ae56cf5a5e523601d1 (diff) | |
download | gitlab-ce-61b123aede4e23ffd2f357714903af949c59c82f.tar.gz |
Merge branch 'zj-repo-gitaly' into 'master'
RepositoryExists is always called with #gitaly_migration
Closes #38333
See merge request gitlab-org/gitlab-ce!14513
-rw-r--r-- | app/models/repository.rb | 18 | ||||
-rw-r--r-- | changelogs/unreleased/zj-repo-gitaly.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/git/repository.rb | 14 |
3 files changed, 18 insertions, 19 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index 6ed33e0c268..0315fed24c5 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -488,13 +488,7 @@ class Repository def exists? return false unless full_path - Gitlab::GitalyClient.migrate(:repository_exists) do |enabled| - if enabled - raw_repository.exists? - else - refs_directory_exists? - end - end + raw_repository.exists? end cache_method :exists? @@ -1123,12 +1117,6 @@ class Repository blob.data end - def refs_directory_exists? - circuit_breaker.perform do - File.exist?(File.join(path_to_repo, 'refs')) - end - end - def cache # TODO: should we use UUIDs here? We could move repositories without clearing this cache @cache ||= RepositoryCache.new(full_path, @project.id) @@ -1186,10 +1174,6 @@ class Repository Gitlab::Git::Repository.new(project.repository_storage, disk_path + '.git', Gitlab::GlRepository.gl_repository(project, false)) end - def circuit_breaker - @circuit_breaker ||= Gitlab::Git::Storage::CircuitBreaker.for_storage(project.repository_storage) - end - def find_commits_by_message_by_shelling_out(query, ref, path, limit, offset) ref ||= root_ref diff --git a/changelogs/unreleased/zj-repo-gitaly.yml b/changelogs/unreleased/zj-repo-gitaly.yml new file mode 100644 index 00000000000..634f6ba1b8b --- /dev/null +++ b/changelogs/unreleased/zj-repo-gitaly.yml @@ -0,0 +1,5 @@ +--- +title: Gitaly RepositoryExists remains opt-in for all method calls +merge_request: +author: +type: fixed diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index d930ce713f2..6c639f286ee 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -72,8 +72,6 @@ module Gitlab delegate :empty?, to: :rugged - delegate :exists?, to: :gitaly_repository_client - def ==(other) path == other.path end @@ -101,6 +99,18 @@ module Gitlab @circuit_breaker ||= Gitlab::Git::Storage::CircuitBreaker.for_storage(storage) end + def exists? + Gitlab::GitalyClient.migrate(:repository_exists) do |enabled| + if enabled + gitaly_repository_client.exists? + else + circuit_breaker.perform do + File.exist?(File.join(@path, 'refs')) + end + end + end + end + # Returns an Array of branch names # sorted by name ASC def branch_names |