From a84d0204bf754690229cf62ea84f494c037b82a5 Mon Sep 17 00:00:00 2001 From: Tomasz Maczukin Date: Tue, 19 Apr 2016 15:48:16 +0200 Subject: [PATCH] Fix Build#append_trace method usage when trace file doesn't exists yet --- app/models/ci/build.rb | 2 +- lib/ci/api/builds.rb | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 9ac6e7e1bfb..d42a65620ff 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -253,7 +253,7 @@ module Ci def append_trace(trace_part, offset) recreate_trace_dir - File.truncate(path_to_trace, offset) + File.truncate(path_to_trace, offset) if File.exist?(path_to_trace) File.open(path_to_trace, 'a') do |f| f.write(trace_part) end diff --git a/lib/ci/api/builds.rb b/lib/ci/api/builds.rb index 08a2b006a5f..607359769d1 100644 --- a/lib/ci/api/builds.rb +++ b/lib/ci/api/builds.rb @@ -71,8 +71,9 @@ module Ci content_range = request.headers['Content-Range'] content_range = content_range.split('-') - unless build.trace_length == content_range[0].to_i - return error!('416 Range Not Satisfiable', 416, { 'Range' => "0-#{build.trace_length}" }) + current_length = build.trace_length + unless current_length == content_range[0].to_i + return error!('416 Range Not Satisfiable', 416, { 'Range' => "0-#{current_length}" }) end build.append_trace(request.body.read, content_range[0].to_i)