summaryrefslogtreecommitdiff
path: root/app/models/commit.rb
diff options
context:
space:
mode:
authorFatih Acet <acetfatih@gmail.com>2016-06-14 00:31:45 +0300
committerFatih Acet <acetfatih@gmail.com>2016-06-14 00:31:45 +0300
commit6dbca80c46093443e69f3faace6f1967570b15fa (patch)
treed3e351e4ed25c347978f33176c729c0495b7de74 /app/models/commit.rb
parent8c058e8563c287817b81a9a122ceeb5a69f6b221 (diff)
parent4a8ae77ebac46545fa4811ea60bf53d1e81f10fc (diff)
downloadgitlab-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.rb29
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