Merge pull request #2855 from hiroponz/fix-bug-of-network-graph
Fix bug of network graph(#2847) and trivial code clean up.
This commit is contained in:
commit
56000aea22
|
@ -109,9 +109,9 @@ module Gitlab
|
||||||
end
|
end
|
||||||
|
|
||||||
space = if commit.space >= parent.space then
|
space = if commit.space >= parent.space then
|
||||||
find_free_parent_space(range, map, parent.space, 1, commit.space, times)
|
find_free_parent_space(range, parent.space, 1, commit.space, times)
|
||||||
else
|
else
|
||||||
find_free_parent_space(range, map, parent.space, -1, parent.space, times)
|
find_free_parent_space(range, parent.space, -1, parent.space, times)
|
||||||
end
|
end
|
||||||
|
|
||||||
mark_reserved(range, space)
|
mark_reserved(range, space)
|
||||||
|
@ -122,9 +122,9 @@ module Gitlab
|
||||||
spaces
|
spaces
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_free_parent_space(range, map, space_base, space_step, space_default, times)
|
def find_free_parent_space(range, space_base, space_step, space_default, times)
|
||||||
if is_overlap?(range, times, space_default) then
|
if is_overlap?(range, times, space_default) then
|
||||||
find_free_space(range, map, space_base, space_step)
|
find_free_space(range, space_base, space_step)
|
||||||
else
|
else
|
||||||
space_default
|
space_default
|
||||||
end
|
end
|
||||||
|
@ -152,11 +152,9 @@ module Gitlab
|
||||||
if leaves.empty?
|
if leaves.empty?
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
time_range = leaves.last.time..leaves.first.time
|
|
||||||
space = find_free_space(time_range, map, 1, 2)
|
|
||||||
leaves.each{|l| l.space = space}
|
|
||||||
# and mark it as reserved
|
# and mark it as reserved
|
||||||
min_time = leaves.last.time
|
min_time = leaves.last.time
|
||||||
|
max_space = 1
|
||||||
parents = leaves.last.parents.collect
|
parents = leaves.last.parents.collect
|
||||||
parents.each do |p|
|
parents.each do |p|
|
||||||
if map.include? p.id
|
if map.include? p.id
|
||||||
|
@ -164,6 +162,9 @@ module Gitlab
|
||||||
if parent.time < min_time
|
if parent.time < min_time
|
||||||
min_time = parent.time
|
min_time = parent.time
|
||||||
end
|
end
|
||||||
|
if max_space < parent.space then
|
||||||
|
max_space = parent.space
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if parent_time.nil?
|
if parent_time.nil?
|
||||||
|
@ -171,6 +172,11 @@ module Gitlab
|
||||||
else
|
else
|
||||||
max_time = parent_time - 1
|
max_time = parent_time - 1
|
||||||
end
|
end
|
||||||
|
|
||||||
|
time_range = leaves.last.time..leaves.first.time
|
||||||
|
space = find_free_space(time_range, max_space, 2)
|
||||||
|
leaves.each{|l| l.space = space}
|
||||||
|
|
||||||
mark_reserved(min_time..max_time, space)
|
mark_reserved(min_time..max_time, space)
|
||||||
|
|
||||||
# Visit branching chains
|
# Visit branching chains
|
||||||
|
@ -188,11 +194,12 @@ module Gitlab
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def find_free_space(time_range, map, space_base, space_step)
|
def find_free_space(time_range, space_base, space_step)
|
||||||
reserved = []
|
reserved = []
|
||||||
for day in time_range
|
for day in time_range
|
||||||
reserved += @_reserved[day]
|
reserved += @_reserved[day]
|
||||||
end
|
end
|
||||||
|
reserved.uniq!
|
||||||
|
|
||||||
space = space_base
|
space = space_base
|
||||||
while reserved.include?(space) do
|
while reserved.include?(space) do
|
||||||
|
|
2
vendor/assets/javascripts/branch-graph.js
vendored
2
vendor/assets/javascripts/branch-graph.js
vendored
|
@ -122,7 +122,7 @@
|
||||||
var cx = offsetX + 20 * c.time
|
var cx = offsetX + 20 * c.time
|
||||||
, cy = offsetY + 10 * c.space
|
, cy = offsetY + 10 * c.space
|
||||||
, psy = offsetY + 10 * ps;
|
, psy = offsetY + 10 * ps;
|
||||||
if (c.space == this.commits[i].space) {
|
if (c.space == this.commits[i].space && c.space == ps) {
|
||||||
r.path([
|
r.path([
|
||||||
"M", x, y,
|
"M", x, y,
|
||||||
"L", cx, cy
|
"L", cx, cy
|
||||||
|
|
Loading…
Reference in a new issue