summaryrefslogtreecommitdiff
path: root/app/services/snippets/create_service.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/services/snippets/create_service.rb')
-rw-r--r--app/services/snippets/create_service.rb17
1 files changed, 7 insertions, 10 deletions
diff --git a/app/services/snippets/create_service.rb b/app/services/snippets/create_service.rb
index 2998208f50b..9178b929656 100644
--- a/app/services/snippets/create_service.rb
+++ b/app/services/snippets/create_service.rb
@@ -38,19 +38,16 @@ module Snippets
private
def save_and_commit(snippet)
- result = snippet.with_transaction_returning_status do
- (snippet.save && snippet.store_mentions!).tap do |saved|
- break false unless saved
-
- if Feature.enabled?(:version_snippets, current_user)
- create_repository_for(snippet)
- end
- end
+ snippet_saved = snippet.with_transaction_returning_status do
+ snippet.save && snippet.store_mentions!
end
- create_commit(snippet) if result && snippet.repository_exists?
+ if snippet_saved && Feature.enabled?(:version_snippets, current_user)
+ create_repository_for(snippet)
+ create_commit(snippet)
+ end
- result
+ snippet_saved
rescue => e # Rescuing all because we can receive Creation exceptions, GRPC exceptions, Git exceptions, ...
snippet.errors.add(:base, e.message)