summaryrefslogtreecommitdiff
path: root/lib/gitlab/gitaly_client
diff options
context:
space:
mode:
authorAhmad Sherif <ahmad.m.sherif@gmail.com>2017-09-05 17:29:45 +0000
committerRobert Speicher <robert@gitlab.com>2017-09-05 17:29:45 +0000
commite10437de407a0782cd49cf5f341517c5b17fdd5e (patch)
treededfc13a94771ed00c106d7b0e6ec33f3bc1793f /lib/gitlab/gitaly_client
parent063e285e6a8c26a95809873fb32fefc54fe9bdb6 (diff)
downloadgitlab-ce-e10437de407a0782cd49cf5f341517c5b17fdd5e.tar.gz
Migrate Gitlab::Git::Repository#find_branch to Gitaly
Diffstat (limited to 'lib/gitlab/gitaly_client')
-rw-r--r--lib/gitlab/gitaly_client/ref_service.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/ref_service.rb b/lib/gitlab/gitaly_client/ref_service.rb
index 8c0008c6971..a1a25cf2079 100644
--- a/lib/gitlab/gitaly_client/ref_service.rb
+++ b/lib/gitlab/gitaly_client/ref_service.rb
@@ -78,6 +78,20 @@ module Gitlab
raise ArgumentError, e.message
end
+ def find_branch(branch_name)
+ request = Gitaly::DeleteBranchRequest.new(
+ repository: @gitaly_repo,
+ name: GitalyClient.encode(branch_name)
+ )
+
+ response = GitalyClient.call(@repository.storage, :ref_service, :find_branch, request)
+ branch = response.branch
+ return unless branch
+
+ target_commit = Gitlab::Git::Commit.decorate(@repository, branch.target_commit)
+ Gitlab::Git::Branch.new(@repository, encode!(branch.name.dup), branch.target_commit.id, target_commit)
+ end
+
private
def consume_refs_response(response)