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:
authorRobert Schilling <rschilling@student.tugraz.at>2015-11-22 00:24:34 +0300
committerRobert Schilling <rschilling@student.tugraz.at>2015-11-22 00:24:34 +0300
commit3ea05c5b5b253de33d8bf8d615c66e2935b940ef (patch)
tree486d420d9c21ebe85b5b296685a9328179cb41dd /app/services/create_release_service.rb
parent6f7e90f6dba300591281aba08ffbe30ce3cc5c90 (diff)
Only allow to create a release if it does not exist yet
Diffstat (limited to 'app/services/create_release_service.rb')
-rw-r--r--app/services/create_release_service.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/app/services/create_release_service.rb b/app/services/create_release_service.rb
index 355374ce252..54e87478e64 100644
--- a/app/services/create_release_service.rb
+++ b/app/services/create_release_service.rb
@@ -8,12 +8,18 @@ class CreateReleaseService < BaseService
# Only create a release if the tag exists
if existing_tag
- release = project.releases.find_or_initialize_by(tag: tag_name)
- release.update_attributes(description: release_description)
+ release = project.releases.find_by(tag: tag_name)
- success(release)
+ if(release)
+ error('Release already exists', 409)
+ else
+ release = project.releases.new({ tag: tag_name, description: release_description })
+ release.save
+
+ success(release)
+ end
else
- error('Tag does not exist')
+ error('Tag does not exist', 404)
end
end