Commit 9a8f5a2b authored by Douwe Maan's avatar Douwe Maan

Merge branch 'zj-lazy-parents' into 'master'

Lazy fetch parent commits for a commit

See merge request gitlab-org/gitlab-ce!17559
parents 9cdaa452 1e08d000
...@@ -9,6 +9,7 @@ class Commit ...@@ -9,6 +9,7 @@ class Commit
include Mentionable include Mentionable
include Referable include Referable
include StaticModel include StaticModel
include ::Gitlab::Utils::StrongMemoize
attr_mentionable :safe_message, pipeline: :single_line attr_mentionable :safe_message, pipeline: :single_line
...@@ -225,11 +226,13 @@ class Commit ...@@ -225,11 +226,13 @@ class Commit
end end
def parents def parents
@parents ||= parent_ids.map { |id| project.commit(id) } @parents ||= parent_ids.map { |oid| Commit.lazy(project, oid) }
end end
def parent 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 end
def notes def notes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment