diff options
author | Kamil Trzcinski <ayufan@ayufan.eu> | 2014-12-06 00:56:43 +0300 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2015-03-21 13:25:27 +0300 |
commit | 5b432e76710eb70cc41c59af1ea9a294202a49fc (patch) | |
tree | c9fa0c82f6b9a3066ef5271027489bb3a80b9d0a /app/services/git_tag_push_service.rb | |
parent | 6cf189f0a92772b9174f913e7c74a4889d54e9a6 (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.rb | 18 |
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 |