diff options
author | Ahmad Sherif <ahmad.m.sherif@gmail.com> | 2017-09-05 17:29:45 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2017-09-05 17:29:45 +0000 |
commit | e10437de407a0782cd49cf5f341517c5b17fdd5e (patch) | |
tree | dedfc13a94771ed00c106d7b0e6ec33f3bc1793f /lib/gitlab/gitaly_client | |
parent | 063e285e6a8c26a95809873fb32fefc54fe9bdb6 (diff) | |
download | gitlab-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.rb | 14 |
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) |