summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Greiling <mike@pixelcog.com>2018-01-22 14:48:24 -0600
committerMike Greiling <mike@pixelcog.com>2018-01-22 14:48:24 -0600
commit003f140ce775ab4594a64dfc985b36078c7d2d81 (patch)
treee972f0049e9ccb7b51ff5178e6fd5f435c73e169
parent1eefc384a420cbd167f82e875ad64433678b3520 (diff)
downloadgitlab-ce-003f140ce775ab4594a64dfc985b36078c7d2d81.tar.gz
ensure fork_source returns nil when project is the root fork, add tests
-rw-r--r--app/models/project.rb2
-rw-r--r--spec/models/project_spec.rb4
2 files changed, 6 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 5d0e61ecaa7..e569f325068 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1032,6 +1032,8 @@ class Project < ActiveRecord::Base
end
def fork_source
+ return nil unless forked?
+
forked_from_project || fork_network&.root_project
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 987be8e8b46..4d10df410ab 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -1951,6 +1951,10 @@ describe Project do
expect(second_fork.fork_source).to eq(project)
end
+
+ it 'returns nil if it is the root of the fork network' do
+ expect(project.fork_source).to be_nil
+ end
end
describe '#lfs_storage_project' do