diff options
author | Jacob Vosmaer (GitLab) <jacob@gitlab.com> | 2018-01-18 14:10:17 +0000 |
---|---|---|
committer | Sean McGivern <sean@mcgivern.me.uk> | 2018-01-18 14:10:17 +0000 |
commit | 4d87f3bb37ae9db979d42c930603ce233f0565e6 (patch) | |
tree | 1c00879322bb33d76e2c83a5bf5726fbacbf653b /lib/gitlab/gitaly_client | |
parent | ee58763158ed10f12a8fe7c089257a532fe6e724 (diff) | |
download | gitlab-ce-4d87f3bb37ae9db979d42c930603ce233f0565e6.tar.gz |
Retrieve commit signatures with Gitaly
Diffstat (limited to 'lib/gitlab/gitaly_client')
-rw-r--r-- | lib/gitlab/gitaly_client/commit_service.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/gitlab/gitaly_client/commit_service.rb b/lib/gitlab/gitaly_client/commit_service.rb index 71b212023d6..2231371cfa7 100644 --- a/lib/gitlab/gitaly_client/commit_service.rb +++ b/lib/gitlab/gitaly_client/commit_service.rb @@ -282,6 +282,23 @@ module Gitlab end end + def extract_signature(commit_id) + request = Gitaly::ExtractCommitSignatureRequest.new(repository: @gitaly_repo, commit_id: commit_id) + response = GitalyClient.call(@repository.storage, :commit_service, :extract_commit_signature, request) + + signature = ''.b + signed_text = ''.b + + response.each do |message| + signature << message.signature + signed_text << message.signed_text + end + + return if signature.blank? && signed_text.blank? + + [signature, signed_text] + end + private def call_commit_diff(request_params, options = {}) |