From fd0afcc996d687232c1181263b17793b2827d44e Mon Sep 17 00:00:00 2001 From: Hiroyuki Sato Date: Tue, 20 Aug 2013 12:05:23 +0900 Subject: [PATCH] Remove the dependancy of grit from class Network::Graph --- app/helpers/graph_helper.rb | 4 +-- app/models/network/commit.rb | 6 ++--- app/models/network/graph.rb | 34 +++++------------------- app/views/projects/network/show.json.erb | 2 +- 4 files changed, 11 insertions(+), 35 deletions(-) diff --git a/app/helpers/graph_helper.rb b/app/helpers/graph_helper.rb index 71a07d6cad1..7cb1b6f8d1a 100644 --- a/app/helpers/graph_helper.rb +++ b/app/helpers/graph_helper.rb @@ -1,7 +1,7 @@ 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 diff --git a/app/models/network/commit.rb b/app/models/network/commit.rb index 3cd0c015fa0..e31adcebbe7 100644 --- a/app/models/network/commit.rb +++ b/app/models/network/commit.rb @@ -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) diff --git a/app/models/network/graph.rb b/app/models/network/graph.rb index 1d21e96369a..424819f3501 100644 --- a/app/models/network/graph.rb +++ b/app/models/network/graph.rb @@ -1,8 +1,6 @@ -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 diff --git a/app/views/projects/network/show.json.erb b/app/views/projects/network/show.json.erb index 9a62cdb3dc9..f0bedcf2d35 100644 --- a/app/views/projects/network/show.json.erb +++ b/app/views/projects/network/show.json.erb @@ -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,