Lazy fetch parent commits for a commit

This commit is contained in:
Zeger-Jan van de Weg 2018-03-05 10:37:16 +01:00
parent b8aa65d47c
commit 1e08d00032
No known key found for this signature in database
GPG Key ID: 65F6A8D64A88ABAC
1 changed files with 5 additions and 2 deletions

View File

@ -9,6 +9,7 @@ class Commit
include Mentionable
include Referable
include StaticModel
include ::Gitlab::Utils::StrongMemoize
attr_mentionable :safe_message, pipeline: :single_line
@ -225,11 +226,13 @@ class Commit
end
def parents
@parents ||= parent_ids.map { |id| project.commit(id) }
@parents ||= parent_ids.map { |oid| Commit.lazy(project, oid) }
end
def parent
@parent ||= project.commit(self.parent_id) if self.parent_id
strong_memoize(:parent) do
project.commit_by(oid: self.parent_id) if self.parent_id
end
end
def notes