Commit f11e855bdb7f4026a4ec4c553ce7308b9bf71a0a
1 parent
aa36f07a
Exists in
master
and in
4 other branches
Finding free space from the way near commit which is downward
Showing
1 changed file
with
6 additions
and
6 deletions
Show diff stats
app/models/graph/json_builder.rb
... | ... | @@ -136,9 +136,9 @@ module Graph |
136 | 136 | end |
137 | 137 | |
138 | 138 | space = if commit.space >= parent.space then |
139 | - find_free_parent_space(range, parent.space, 1, commit.space, times) | |
139 | + find_free_parent_space(range, parent.space, -1, commit.space, times) | |
140 | 140 | else |
141 | - find_free_parent_space(range, parent.space, -1, parent.space, times) | |
141 | + find_free_parent_space(range, commit.space, -1, parent.space, times) | |
142 | 142 | end |
143 | 143 | |
144 | 144 | mark_reserved(range, space) |
... | ... | @@ -151,7 +151,7 @@ module Graph |
151 | 151 | |
152 | 152 | def find_free_parent_space(range, space_base, space_step, space_default, times) |
153 | 153 | if is_overlap?(range, times, space_default) then |
154 | - find_free_space(range, space_base, space_step) | |
154 | + find_free_space(range, space_base, space_step, space_default) | |
155 | 155 | else |
156 | 156 | space_default |
157 | 157 | end |
... | ... | @@ -221,17 +221,17 @@ module Graph |
221 | 221 | end |
222 | 222 | end |
223 | 223 | |
224 | - def find_free_space(time_range, space_base, space_step) | |
224 | + def find_free_space(time_range, space_base, space_step, space_default = 1) | |
225 | 225 | reserved = [] |
226 | 226 | for day in time_range |
227 | 227 | reserved += @_reserved[day] |
228 | 228 | end |
229 | 229 | reserved.uniq! |
230 | 230 | |
231 | - space = space_base | |
231 | + space = space_default | |
232 | 232 | while reserved.include?(space) do |
233 | 233 | space += space_step |
234 | - if space <= 0 then | |
234 | + if space < space_base then | |
235 | 235 | space_step *= -1 |
236 | 236 | space = space_base + space_step |
237 | 237 | end | ... | ... |