Commit fd0afcc9 authored by Hiroyuki Sato's avatar Hiroyuki Sato

Remove the dependancy of grit from class Network::Graph

parent 65cba5c6
module GraphHelper
def get_refs(commit)
def get_refs(repo, commit)
refs = ""
refs += commit.refs.collect{|r|r.name}.join(" ") if commit.refs
refs += commit.ref_names(repo).join(" ")
# append note count
refs += "[#{@graph.notes[commit.id]}]" if @graph.notes[commit.id] > 0
......
......@@ -4,15 +4,13 @@ module Network
class Commit
include ActionView::Helpers::TagHelper
attr_reader :refs
attr_accessor :time, :spaces, :parent_spaces
def initialize(raw_commit, refs)
@commit = Gitlab::Git::Commit.new(raw_commit)
def initialize(raw_commit)
@commit = raw_commit
@time = -1
@spaces = []
@parent_spaces = []
@refs = refs || []
end
def method_missing(m, *args, &block)
......
require "grit"
module Network
class Graph
attr_reader :days, :commits, :map, :notes
attr_reader :days, :commits, :map, :notes, :repo
def self.max_count
@max_count ||= 650
......@@ -13,7 +11,7 @@ module Network
@ref = ref
@commit = commit
@filter_ref = filter_ref
@repo = project.repo
@repo = project.repository
@commits = collect_commits
@days = index_commits
......@@ -33,11 +31,9 @@ module Network
# Get commits from repository
#
def collect_commits
refs_cache = build_refs_cache
find_commits(count_to_display_commit_in_center).map do |commit|
# Decorate with app/model/network/commit.rb
Network::Commit.new(commit, refs_cache[commit.id])
Network::Commit.new(commit)
end
end
......@@ -103,14 +99,13 @@ module Network
def find_commits(skip = 0)
opts = {
date_order: true,
max_count: self.class.max_count,
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
def commits_sort_by_ref
......@@ -126,15 +121,7 @@ module Network
end
def include_ref?(commit)
heads = commit.refs.select do |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)
commit.ref_names(@repo).include?(@ref)
end
def find_free_parent_spaces(commit)
......@@ -282,14 +269,5 @@ module Network
leaves.push(commit)
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
......@@ -13,7 +13,7 @@
},
time: c.time,
space: c.spaces.first,
refs: get_refs(c),
refs: get_refs(@graph.repo, c),
id: c.sha,
date: c.date,
message: c.message,
......
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