summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorBob Van Landuyt <bob@vanlanduyt.co>2017-10-17 16:33:30 +0200
committerBob Van Landuyt <bob@vanlanduyt.co>2017-10-17 16:46:07 +0200
commit2c0b677604e438b9bf608e6ea17b47e5640b4700 (patch)
tree5b2fd56ea9796af05980ad9ea754f16cf41e53f7 /app/models
parentf69b54682fc1770a73c528032b1a86f3e7d547a1 (diff)
downloadgitlab-ce-2c0b677604e438b9bf608e6ea17b47e5640b4700.tar.gz
Fix errors when deleting a forked project
The problem would occur when the `ForkedProjectLink` was deleted, but the `ForkNetworkMember` was not. The delete would be rolled back and retried. But the error would not be saved because `Project#forked?` would still be true, because the `ForkNetworkMember` exists. But the `Project#forked_project_link` would be `nil`. So the validation for the visibility level would fail.
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 6e1cf9e31ee..4689b588906 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1272,7 +1272,7 @@ class Project < ActiveRecord::Base
# self.forked_from_project will be nil before the project is saved, so
# we need to go through the relation
- original_project = forked_project_link.forked_from_project
+ original_project = forked_project_link&.forked_from_project
return true unless original_project
level <= original_project.visibility_level