summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Lopez <james@jameslopez.es>2016-05-31 14:53:33 +0200
committerRobert Speicher <rspeicher@gmail.com>2016-06-01 21:14:41 -0400
commit10156e9960e0c43aee979f95f0629f351403d79d (patch)
tree321c5bbb98dd42ebafc43aeefcbaffaa33950be1
parent96eb5d23b565618969d9c050bf589859897f2d88 (diff)
downloadgitlab-ce-10156e9960e0c43aee979f95f0629f351403d79d.tar.gz
fix some issues and improved error output for forking
-rw-r--r--app/models/project.rb9
-rw-r--r--app/services/projects/create_service.rb2
2 files changed, 9 insertions, 2 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 73665079bc0..0f5c805ece2 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1013,7 +1013,14 @@ class Project < ActiveRecord::Base
end
def mark_import_as_failed(error_message)
+ original_errors = errors.dup
+ sanitized_message = Gitlab::UrlSanitizer.sanitize(error_message)
+
import_fail
- update_column(:import_error, Gitlab::UrlSanitizer.sanitize(error_message))
+ update_column(:import_error, sanitized_message)
+ rescue ActiveRecord::ActiveRecordError => e
+ Rails.logger.error("Error setting import status to failed: #{e.message}. Original error: #{sanitized_message}")
+ ensure
+ @errors = original_errors
end
end
diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb
index b73389f0489..61cac5419ad 100644
--- a/app/services/projects/create_service.rb
+++ b/app/services/projects/create_service.rb
@@ -59,7 +59,7 @@ module Projects
if @project.errors.empty?
@project.add_import_job if @project.import?
else
- fail(error: @project.errors.join(', '))
+ fail(error: @project.errors.full_messages.join(', '))
end
@project
rescue => e