diff --git a/Gemfile b/Gemfile index 5943dceb71c3b39134acc847b8be4c794560e2b8..6a06df6fbe54e1169ea42478e69aef1f8ac75d56 100644 --- a/Gemfile +++ b/Gemfile @@ -29,7 +29,7 @@ gem 'omniauth-github' # Extracting information from a git repository # Provide access to Gitlab::Git library -gem "gitlab_git", '~> 5.3.0' +gem "gitlab_git", '~> 5.4.0' # Ruby/Rack Git Smart-HTTP Server Handler gem 'gitlab-grack', '~> 2.0.0.pre', require: 'grack' diff --git a/Gemfile.lock b/Gemfile.lock index 59bdac20d98e00dd49dec257193046b48dcd6962..2c99063726e4090d5d4b5b118eef1a83d1fe92b3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,7 +177,7 @@ GEM charlock_holmes (~> 0.6.6) escape_utils (~> 0.2.4) mime-types (~> 1.19) - gitlab_git (5.3.0) + gitlab_git (5.4.0) activesupport (~> 4.0.0) charlock_holmes (~> 0.6.9) gitlab-grit (~> 2.6.1) @@ -579,7 +579,7 @@ DEPENDENCIES gitlab-gollum-lib (~> 1.1.0) gitlab-grack (~> 2.0.0.pre) gitlab-linguist (~> 3.0.0) - gitlab_git (~> 5.3.0) + gitlab_git (~> 5.4.0) gitlab_meta (= 6.0) gitlab_omniauth-ldap (= 1.0.4) gon (~> 5.0.0) diff --git a/app/controllers/projects/compare_controller.rb b/app/controllers/projects/compare_controller.rb index 696cb7a4ba2d011e369cff0985cfc111829932c1..234b6058ff0554c45a22a851e66b8996bd199dfb 100644 --- a/app/controllers/projects/compare_controller.rb +++ b/app/controllers/projects/compare_controller.rb @@ -15,11 +15,7 @@ class Projects::CompareController < Projects::ApplicationController @diffs = compare.diffs @refs_are_same = compare.same @line_notes = [] - - if @diffs == [Gitlab::Git::Diff::BROKEN_DIFF] - @diffs = [] - @timeout = true - end + @timeout = compare.timeout diff_line_count = Commit::diff_line_count(@diffs) @suppress_diff = Commit::diff_suppress?(@diffs, diff_line_count) && !params[:force_show_diff] diff --git a/app/models/merge_request_diff.rb b/app/models/merge_request_diff.rb index 3ea610197e607a5171f12b7bc656aba490a16513..a226fef73462feeb3bf5d743ec390f8c81df780b 100644 --- a/app/models/merge_request_diff.rb +++ b/app/models/merge_request_diff.rb @@ -148,13 +148,11 @@ class MergeRequestDiff < ActiveRecord::Base Gitlab::Git::Diff.between(repository, source_branch, target_branch) end - if diffs == broken_diffs - self.state = :timeout - diffs = [] - end - diffs ||= [] diffs + rescue Gitlab::Git::Diff::TimeoutError => ex + self.state = :timeout + diffs = [] end def repository