Refactoring find_commits functionality
This commit is contained in:
parent
f0c7e6713f
commit
fd2c3a3da0
|
@ -13,7 +13,7 @@ class Projects::CommitsController < Projects::ApplicationController
|
|||
|
||||
@commits =
|
||||
if search.present?
|
||||
@repository.find_commits_by_message(search, @ref, @path, @limit, @offset).compact
|
||||
@repository.find_commits_by_message(search, @ref, @path, @limit, @offset)
|
||||
else
|
||||
@repository.commits(@ref, path: @path, limit: @limit, offset: @offset)
|
||||
end
|
||||
|
|
|
@ -109,6 +109,10 @@ class Repository
|
|||
end
|
||||
|
||||
def find_commits_by_message(query, ref = nil, path = nil, limit = 1000, offset = 0)
|
||||
unless exists? && has_visible_content? && query.present?
|
||||
return []
|
||||
end
|
||||
|
||||
ref ||= root_ref
|
||||
|
||||
args = %W(
|
||||
|
@ -117,9 +121,8 @@ class Repository
|
|||
)
|
||||
args = args.concat(%W(-- #{path})) if path.present?
|
||||
|
||||
git_log_results = Gitlab::Popen.popen(args, path_to_repo).first.lines.map(&:chomp)
|
||||
commits = git_log_results.map { |c| commit(c) }
|
||||
commits
|
||||
git_log_results = Gitlab::Popen.popen(args, path_to_repo).first.lines
|
||||
git_log_results.map { |c| commit(c.chomp) }.compact
|
||||
end
|
||||
|
||||
def find_branch(name, fresh_repo: true)
|
||||
|
|
|
@ -73,11 +73,7 @@ module Gitlab
|
|||
end
|
||||
|
||||
def commits
|
||||
if project.empty_repo? || query.blank?
|
||||
[]
|
||||
else
|
||||
project.repository.find_commits_by_message(query).compact
|
||||
end
|
||||
project.repository.find_commits_by_message(query)
|
||||
end
|
||||
|
||||
def project_ids_relation
|
||||
|
|
Loading…
Reference in New Issue