diff --git a/lib/gitlab/graph/json_builder.rb b/lib/gitlab/graph/json_builder.rb index 4a48b3b5675..a3157aa4b4d 100644 --- a/lib/gitlab/graph/json_builder.rb +++ b/lib/gitlab/graph/json_builder.rb @@ -16,6 +16,7 @@ module Gitlab @commits = collect_commits @days = index_commits + @space = 0 end def to_json(*args) @@ -97,8 +98,8 @@ module Gitlab if leaves.empty? return end - space = find_free_space(leaves, map) - leaves.each{|l| l.space = space} + @space = find_free_space(leaves, map) + leaves.each{|l| l.space = @space} # and mark it as reserved min_time = leaves.last.time parents = leaves.last.parents.collect @@ -115,7 +116,7 @@ module Gitlab else max_time = parent_time - 1 end - mark_reserved(min_time..max_time, space) + mark_reserved(min_time..max_time, @space) # Visit branching chains leaves.each do |l| @@ -139,9 +140,10 @@ module Gitlab reserved += @_reserved[day] end space = base_space(leaves, map) - while reserved.include? space do + while (reserved.include? space) || (space == @space) do space += 1 end + space end diff --git a/vendor/assets/javascripts/branch-graph.js b/vendor/assets/javascripts/branch-graph.js index 805423bc70d..af3b572a4e3 100644 --- a/vendor/assets/javascripts/branch-graph.js +++ b/vendor/assets/javascripts/branch-graph.js @@ -121,7 +121,7 @@ if (c.space == this.commits[i].space) { r.path([ "M", x, y, - "L", x - 20 * (c.time + 1), y + "L", cx, cy ]).attr({ stroke: this.colors[c.space], "stroke-width": 2 @@ -351,4 +351,4 @@ function textWrap(t, width) { t.attr({ "y": b.y + h }); -} \ No newline at end of file +}