summaryrefslogtreecommitdiff
path: root/app/services/create_tag_service.rb
diff options
context:
space:
mode:
authorRobert Schilling <rschilling@student.tugraz.at>2015-11-21 18:08:45 +0100
committerRobert Schilling <rschilling@student.tugraz.at>2015-11-21 18:08:45 +0100
commitfaef95af1a07bdcfd02eead36d144f332b428f1f (patch)
tree7f34f351e7681036bbafda1980e1d403316ee7d5 /app/services/create_tag_service.rb
parent2cba93a0d2d12ee36bf98569e5c6c14ac7ea40e0 (diff)
downloadgitlab-ce-faef95af1a07bdcfd02eead36d144f332b428f1f.tar.gz
API: Return 404 if the tag for a release does not exist
Diffstat (limited to 'app/services/create_tag_service.rb')
-rw-r--r--app/services/create_tag_service.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/app/services/create_tag_service.rb b/app/services/create_tag_service.rb
index 9917119fce2..2452999382a 100644
--- a/app/services/create_tag_service.rb
+++ b/app/services/create_tag_service.rb
@@ -19,16 +19,16 @@ class CreateTagService < BaseService
new_tag = repository.find_tag(tag_name)
if new_tag
- if release_description
- release = project.releases.find_or_initialize_by(tag: tag_name)
- release.update_attributes(description: release_description)
- end
-
push_data = create_push_data(project, current_user, new_tag)
EventCreateService.new.push(project, current_user, push_data)
project.execute_hooks(push_data.dup, :tag_push_hooks)
project.execute_services(push_data.dup, :tag_push_hooks)
+ if release_description
+ CreateReleaseService.new(@project, @current_user).
+ execute(tag_name, release_description)
+ end
+
success(new_tag)
else
error('Invalid reference name')