diff options
author | Jacob Vosmaer <jacob@gitlab.com> | 2017-04-06 16:54:15 +0200 |
---|---|---|
committer | Jacob Vosmaer <jacob@gitlab.com> | 2017-04-07 12:53:30 +0200 |
commit | e4ac948c706d628a750aae7ad5f2fb7753e1f979 (patch) | |
tree | 49ee864037d87464c9fc819cb40add7655c4a75a /lib | |
parent | 9216f59a3f7734e0a1680fff402ce02652c32503 (diff) | |
download | gitlab-ce-e4ac948c706d628a750aae7ad5f2fb7753e1f979.tar.gz |
Send more Gitaly::Repository fields
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/git/repository.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/commit.rb | 17 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/notifications.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/ref.rb | 3 | ||||
-rw-r--r-- | lib/gitlab/gitaly_client/util.rb | 20 | ||||
-rw-r--r-- | lib/gitlab/workhorse.rb | 10 |
6 files changed, 36 insertions, 25 deletions
diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 9e338282e96..c0572fb50c1 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -968,6 +968,14 @@ module Gitlab @attributes.attributes(path) end + def gitaly_repository + Gitlab::GitalyClient::Util.repository(@repository_storage, @relative_path) + end + + def gitaly_channel + Gitlab::GitalyClient::Util.channel(@repository_storage) + end + private # Get the content of a blob for a given commit. If the blob is a commit diff --git a/lib/gitlab/gitaly_client/commit.rb b/lib/gitlab/gitaly_client/commit.rb index f15faebe27e..0c38a47178d 100644 --- a/lib/gitlab/gitaly_client/commit.rb +++ b/lib/gitlab/gitaly_client/commit.rb @@ -7,14 +7,13 @@ module Gitlab class << self def diff_from_parent(commit, options = {}) - project = commit.project - channel = GitalyClient.get_channel(project.repository_storage) - stub = Gitaly::Diff::Stub.new(nil, nil, channel_override: channel) - repo = Gitaly::Repository.new(path: project.repository.path_to_repo) + repository = commit.project.repository + gitaly_repo = repository.gitaly_repository + stub = Gitaly::Diff::Stub.new(nil, nil, channel_override: repository.gitaly_channel) parent = commit.parents[0] parent_id = parent ? parent.id : EMPTY_TREE_ID request = Gitaly::CommitDiffRequest.new( - repository: repo, + repository: gitaly_repo, left_commit_id: parent_id, right_commit_id: commit.id ) @@ -23,12 +22,10 @@ module Gitlab end def is_ancestor(repository, ancestor_id, child_id) - project = Project.find_by_path(repository.path) - channel = GitalyClient.get_channel(project.repository_storage) - stub = Gitaly::Commit::Stub.new(nil, nil, channel_override: channel) - repo = Gitaly::Repository.new(path: repository.path_to_repo) + gitaly_repo = repository.gitaly_repository + stub = Gitaly::Commit::Stub.new(nil, nil, channel_override: repository.gitaly_channel) request = Gitaly::CommitIsAncestorRequest.new( - repository: repo, + repository: gitaly_repo, ancestor_id: ancestor_id, child_id: child_id ) diff --git a/lib/gitlab/gitaly_client/notifications.rb b/lib/gitlab/gitaly_client/notifications.rb index f0d93ded91b..f9355e7b439 100644 --- a/lib/gitlab/gitaly_client/notifications.rb +++ b/lib/gitlab/gitaly_client/notifications.rb @@ -4,7 +4,8 @@ module Gitlab attr_accessor :stub def initialize(repository_storage, relative_path) - @channel, @repository = Util.process_path(repository_storage, relative_path) + @channel = Util.channel(repository_storage) + @repository = Util.repository(repository_storage, relative_path) @stub = Gitaly::Notifications::Stub.new(nil, nil, channel_override: @channel) end diff --git a/lib/gitlab/gitaly_client/ref.rb b/lib/gitlab/gitaly_client/ref.rb index fcdf452d567..3b1eca21d11 100644 --- a/lib/gitlab/gitaly_client/ref.rb +++ b/lib/gitlab/gitaly_client/ref.rb @@ -4,7 +4,8 @@ module Gitlab attr_accessor :stub def initialize(repository_storage, relative_path) - @channel, @repository = Util.process_path(repository_storage, relative_path) + @channel = Util.channel(repository_storage) + @repository = Util.repository(repository_storage, relative_path) @stub = Gitaly::Ref::Stub.new(nil, nil, channel_override: @channel) end diff --git a/lib/gitlab/gitaly_client/util.rb b/lib/gitlab/gitaly_client/util.rb index d272c25d1f9..f5b40e7def7 100644 --- a/lib/gitlab/gitaly_client/util.rb +++ b/lib/gitlab/gitaly_client/util.rb @@ -1,12 +1,22 @@ module Gitlab module GitalyClient module Util - def self.process_path(repository_storage, relative_path) - channel = GitalyClient.get_channel(repository_storage) - storage_path = Gitlab.config.repositories.storages[repository_storage]['path'] - repository = Gitaly::Repository.new(path: File.join(storage_path, relative_path)) + class << self + def self.process_path(repository_storage, relative_path) + [channel(repository_storage), repository(repository_storage, relative_path)] + end - [channel, repository] + def repository(repository_storage, relative_path) + Gitaly::Repository.new( + path: File.join(Gitlab.config.repositories.storages[repository_storage]['path'], relative_path), + storage_name: repository_storage, + relative_path: relative_path, + ) + end + + def channel(repository_storage) + GitalyClient.get_channel(repository_storage) + end end end end diff --git a/lib/gitlab/workhorse.rb b/lib/gitlab/workhorse.rb index a8a7bf9bc12..e6e40f6945d 100644 --- a/lib/gitlab/workhorse.rb +++ b/lib/gitlab/workhorse.rb @@ -24,14 +24,8 @@ module Gitlab } if Gitlab.config.gitaly.enabled - storage = repository.project.repository_storage - address = Gitlab::GitalyClient.get_address(storage) - # TODO: use GitalyClient code to assemble the Repository message - params[:Repository] = Gitaly::Repository.new( - path: repo_path, - storage_name: storage, - relative_path: Gitlab::RepoPath.strip_storage_path(repo_path), - ).to_h + address = Gitlab::GitalyClient.get_address(repository.project.repository_storage) + params[:Repository] = repository.gitaly_repository.to_h feature_enabled = case action.to_s when 'git_receive_pack' |