diff options
author | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-10-17 16:33:30 +0200 |
---|---|---|
committer | Bob Van Landuyt <bob@vanlanduyt.co> | 2017-10-17 16:46:07 +0200 |
commit | 2c0b677604e438b9bf608e6ea17b47e5640b4700 (patch) | |
tree | 5b2fd56ea9796af05980ad9ea754f16cf41e53f7 /app/models | |
parent | f69b54682fc1770a73c528032b1a86f3e7d547a1 (diff) | |
download | gitlab-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.rb | 2 |
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 |