diff options
author | Fatih Acet <acetfatih@gmail.com> | 2016-06-14 00:31:45 +0300 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2016-06-14 00:31:45 +0300 |
commit | 6dbca80c46093443e69f3faace6f1967570b15fa (patch) | |
tree | d3e351e4ed25c347978f33176c729c0495b7de74 /app/models/commit.rb | |
parent | 8c058e8563c287817b81a9a122ceeb5a69f6b221 (diff) | |
parent | 4a8ae77ebac46545fa4811ea60bf53d1e81f10fc (diff) | |
download | gitlab-ce-remove-comment-toggle.tar.gz |
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce into remove-comment-toggleremove-comment-toggle
Diffstat (limited to 'app/models/commit.rb')
-rw-r--r-- | app/models/commit.rb | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/app/models/commit.rb b/app/models/commit.rb index 562c3ed15b2..d69d518fadd 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -8,7 +8,10 @@ class Commit include StaticModel attr_mentionable :safe_message, pipeline: :single_line - participant :author, :committer, :notes + + participant :author + participant :committer + participant :notes_with_associations attr_accessor :project @@ -194,6 +197,10 @@ class Commit project.notes.for_commit_id(self.id) end + def notes_with_associations + notes.includes(:author) + end + def method_missing(m, *args, &block) @raw.send(m, *args, &block) end @@ -207,19 +214,19 @@ class Commit @raw.short_id(7) end - def ci_commits - @ci_commits ||= project.ci_commits.where(sha: sha) + def pipelines + @pipeline ||= project.pipelines.where(sha: sha) end def status return @status if defined?(@status) - @status ||= ci_commits.status + @status ||= pipelines.status end def revert_branch_name "revert-#{short_id}" end - + def cherry_pick_branch_name project.repository.next_branch("cherry-pick-#{short_id}", mild: true) end @@ -251,11 +258,13 @@ class Commit end def has_been_reverted?(current_user = nil, noteable = self) - Gitlab::ReferenceExtractor.lazily do - noteable.notes.system.flat_map do |note| - note.all_references(current_user).commits - end - end.any? { |commit_ref| commit_ref.reverts_commit?(self) } + ext = all_references(current_user) + + noteable.notes_with_associations.system.each do |note| + note.all_references(current_user, extractor: ext) + end + + ext.commits.any? { |commit_ref| commit_ref.reverts_commit?(self) } end def change_type_title |