Merge pull request #4812 from hiroponz/remove-dependancy-of-grit
Remove the dependancy of grit from class Network::Graph
This commit is contained in:
commit
d04ad4cb5d
4 changed files with 11 additions and 35 deletions
|
@ -1,7 +1,7 @@
|
||||||
module GraphHelper
|
module GraphHelper
|
||||||
def get_refs(commit)
|
def get_refs(repo, commit)
|
||||||
refs = ""
|
refs = ""
|
||||||
refs += commit.refs.collect{|r|r.name}.join(" ") if commit.refs
|
refs += commit.ref_names(repo).join(" ")
|
||||||
|
|
||||||
# append note count
|
# append note count
|
||||||
refs += "[#{@graph.notes[commit.id]}]" if @graph.notes[commit.id] > 0
|
refs += "[#{@graph.notes[commit.id]}]" if @graph.notes[commit.id] > 0
|
||||||
|
|
|
@ -4,15 +4,13 @@ module Network
|
||||||
class Commit
|
class Commit
|
||||||
include ActionView::Helpers::TagHelper
|
include ActionView::Helpers::TagHelper
|
||||||
|
|
||||||
attr_reader :refs
|
|
||||||
attr_accessor :time, :spaces, :parent_spaces
|
attr_accessor :time, :spaces, :parent_spaces
|
||||||
|
|
||||||
def initialize(raw_commit, refs)
|
def initialize(raw_commit)
|
||||||
@commit = Gitlab::Git::Commit.new(raw_commit)
|
@commit = raw_commit
|
||||||
@time = -1
|
@time = -1
|
||||||
@spaces = []
|
@spaces = []
|
||||||
@parent_spaces = []
|
@parent_spaces = []
|
||||||
@refs = refs || []
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def method_missing(m, *args, &block)
|
def method_missing(m, *args, &block)
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
require "grit"
|
|
||||||
|
|
||||||
module Network
|
module Network
|
||||||
class Graph
|
class Graph
|
||||||
attr_reader :days, :commits, :map, :notes
|
attr_reader :days, :commits, :map, :notes, :repo
|
||||||
|
|
||||||
def self.max_count
|
def self.max_count
|
||||||
@max_count ||= 650
|
@max_count ||= 650
|
||||||
|
@ -13,7 +11,7 @@ module Network
|
||||||
@ref = ref
|
@ref = ref
|
||||||
@commit = commit
|
@commit = commit
|
||||||
@filter_ref = filter_ref
|
@filter_ref = filter_ref
|
||||||
@repo = project.repo
|
@repo = project.repository
|
||||||
|
|
||||||
@commits = collect_commits
|
@commits = collect_commits
|
||||||
@days = index_commits
|
@days = index_commits
|
||||||
|
@ -33,11 +31,9 @@ module Network
|
||||||
# Get commits from repository
|
# Get commits from repository
|
||||||
#
|
#
|
||||||
def collect_commits
|
def collect_commits
|
||||||
refs_cache = build_refs_cache
|
|
||||||
|
|
||||||
find_commits(count_to_display_commit_in_center).map do |commit|
|
find_commits(count_to_display_commit_in_center).map do |commit|
|
||||||
# Decorate with app/model/network/commit.rb
|
# Decorate with app/model/network/commit.rb
|
||||||
Network::Commit.new(commit, refs_cache[commit.id])
|
Network::Commit.new(commit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -103,14 +99,13 @@ module Network
|
||||||
|
|
||||||
def find_commits(skip = 0)
|
def find_commits(skip = 0)
|
||||||
opts = {
|
opts = {
|
||||||
date_order: true,
|
|
||||||
max_count: self.class.max_count,
|
max_count: self.class.max_count,
|
||||||
skip: skip
|
skip: skip
|
||||||
}
|
}
|
||||||
|
|
||||||
ref = @ref if @filter_ref
|
opts[:ref] = @commit.id if @filter_ref
|
||||||
|
|
||||||
Grit::Commit.find_all(@repo, ref, opts)
|
@repo.find_commits(opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
def commits_sort_by_ref
|
def commits_sort_by_ref
|
||||||
|
@ -126,15 +121,7 @@ module Network
|
||||||
end
|
end
|
||||||
|
|
||||||
def include_ref?(commit)
|
def include_ref?(commit)
|
||||||
heads = commit.refs.select do |ref|
|
commit.ref_names(@repo).include?(@ref)
|
||||||
ref.is_a?(Grit::Head) or ref.is_a?(Grit::Remote) or ref.is_a?(Grit::Tag)
|
|
||||||
end
|
|
||||||
|
|
||||||
heads.map! do |head|
|
|
||||||
head.name
|
|
||||||
end
|
|
||||||
|
|
||||||
heads.include?(@ref)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_free_parent_spaces(commit)
|
def find_free_parent_spaces(commit)
|
||||||
|
@ -282,14 +269,5 @@ module Network
|
||||||
leaves.push(commit)
|
leaves.push(commit)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def build_refs_cache
|
|
||||||
refs_cache = {}
|
|
||||||
@repo.refs.each do |ref|
|
|
||||||
refs_cache[ref.commit.id] = [] unless refs_cache.include?(ref.commit.id)
|
|
||||||
refs_cache[ref.commit.id] << ref
|
|
||||||
end
|
|
||||||
refs_cache
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
},
|
},
|
||||||
time: c.time,
|
time: c.time,
|
||||||
space: c.spaces.first,
|
space: c.spaces.first,
|
||||||
refs: get_refs(c),
|
refs: get_refs(@graph.repo, c),
|
||||||
id: c.sha,
|
id: c.sha,
|
||||||
date: c.date,
|
date: c.date,
|
||||||
message: c.message,
|
message: c.message,
|
||||||
|
|
Loading…
Reference in a new issue