summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client/ref_service.rb
diff options
context:
space:
mode:
authorAlejandro Rodríguez <alejorro70@gmail.com>2017-07-22 18:13:47 -0400
committerAlejandro Rodríguez <alejorro70@gmail.com>2017-07-27 15:40:54 -0400
commit8e3f2ecfa9f479eca039d2223055d57617d8ba17 (patch)
tree0fe31af28cca93d59682b8d3ece289b1d063d7d3 /lib/gitlab/gitaly_client/ref_service.rb
parent8065adcc1e7d69fe3c98fb951256b2514c9d28b6 (diff)
downloadgitlab-ce-8e3f2ecfa9f479eca039d2223055d57617d8ba17.tar.gz
Incorporate RefsService.FindAllBranches Gitaly RPCgitaly-all-branches
Diffstat (limited to 'lib/gitlab/gitaly_client/ref_service.rb')
-rw-r--r--lib/gitlab/gitaly_client/ref_service.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/ref_service.rb b/lib/gitlab/gitaly_client/ref_service.rb
index 2306fb3cbf5..b0f7548b7dc 100644
--- a/lib/gitlab/gitaly_client/ref_service.rb
+++ b/lib/gitlab/gitaly_client/ref_service.rb
@@ -10,6 +10,19 @@ module Gitlab
@storage = repository.storage
end
+ def branches
+ request = Gitaly::FindAllBranchesRequest.new(repository: @gitaly_repo)
+ response = GitalyClient.call(@storage, :ref_service, :find_all_branches, request)
+
+ response.flat_map do |message|
+ message.branches.map do |branch|
+ gitaly_commit = GitalyClient::Commit.new(@repository, branch.target)
+ target_commit = Gitlab::Git::Commit.decorate(gitaly_commit)
+ Gitlab::Git::Branch.new(@repository, branch.name, branch.target.id, target_commit)
+ end
+ end
+ end
+
def default_branch_name
request = Gitaly::FindDefaultBranchNameRequest.new(repository: @gitaly_repo)
response = GitalyClient.call(@storage, :ref_service, :find_default_branch_name, request)