Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2014-12-06 00:56:43 +0300
committerKamil Trzcinski <ayufan@ayufan.eu>2015-03-21 13:25:27 +0300
commit5b432e76710eb70cc41c59af1ea9a294202a49fc (patch)
treec9fa0c82f6b9a3066ef5271027489bb3a80b9d0a /app/services/git_tag_push_service.rb
parent6cf189f0a92772b9174f913e7c74a4889d54e9a6 (diff)
Extend push_tag event to include tag message and last commit
Diffstat (limited to 'app/services/git_tag_push_service.rb')
-rw-r--r--app/services/git_tag_push_service.rb18
1 files changed, 16 insertions, 2 deletions
diff --git a/app/services/git_tag_push_service.rb b/app/services/git_tag_push_service.rb
index 0d8e6e85e47..bf203bbd692 100644
--- a/app/services/git_tag_push_service.rb
+++ b/app/services/git_tag_push_service.rb
@@ -3,7 +3,7 @@ class GitTagPushService
def execute(project, user, oldrev, newrev, ref)
@project, @user = project, user
-
+
@push_data = build_push_data(oldrev, newrev, ref)
EventCreateService.new.push(project, user, @push_data)
@@ -18,6 +18,20 @@ class GitTagPushService
private
def build_push_data(oldrev, newrev, ref)
- Gitlab::PushDataBuilder.build(project, user, oldrev, newrev, ref, [])
+ commits = []
+ message = nil
+
+ if !Gitlab::Git.blank_ref?(newrev)
+ tag_name = Gitlab::Git.ref_name(ref)
+ tag = project.repository.find_tag(tag_name)
+ if tag && tag.target == newrev
+ commit = project.repository.commit(tag.target)
+ commits = [commit].compact
+ message = tag.message
+ end
+ end
+
+ Gitlab::PushDataBuilder.
+ build(project, user, oldrev, newrev, ref, commits, message)
end
end