summaryrefslogtreecommitdiff
path: root/lib/gitlab/git/tag.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/git/tag.rb')
-rw-r--r--lib/gitlab/git/tag.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/gitlab/git/tag.rb b/lib/gitlab/git/tag.rb
index 08dbd52e3fb..da86d6baf4a 100644
--- a/lib/gitlab/git/tag.rb
+++ b/lib/gitlab/git/tag.rb
@@ -66,6 +66,27 @@ module Gitlab
@raw_tag.tagger
end
+ def has_signature?
+ signature_type != :NONE
+ end
+
+ def signature_type
+ @raw_tag.signature_type || :NONE
+ end
+
+ def signature
+ return unless has_signature?
+
+ case signature_type
+ when :PGP
+ nil # not implemented, see https://gitlab.com/gitlab-org/gitlab/issues/19260
+ when :X509
+ X509::Tag.new(@raw_tag).signature
+ else
+ nil
+ end
+ end
+
private
def message_from_gitaly_tag