Commit 63e532eff01ac927e7fa39781d9ebd61503c9a3e
1 parent
967d42e0
Exists in
master
and in
4 other branches
Cache MR diffs result. Improve diff output
Showing
6 changed files
with
10 additions
and
8 deletions
Show diff stats
Procfile
| 1 | -web: bundle exec puma -p $PORT | 1 | +web: bundle exec unicorn_rails -p $PORT -E development |
| 2 | worker: bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,common,default,gitlab_shell | 2 | worker: bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,common,default,gitlab_shell |
app/controllers/projects/merge_requests_controller.rb
| @@ -30,7 +30,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController | @@ -30,7 +30,6 @@ class Projects::MergeRequestsController < Projects::ApplicationController | ||
| 30 | end | 30 | end |
| 31 | 31 | ||
| 32 | def diffs | 32 | def diffs |
| 33 | - @diffs = @merge_request.diffs | ||
| 34 | @commit = @merge_request.last_commit | 33 | @commit = @merge_request.last_commit |
| 35 | 34 | ||
| 36 | @comments_allowed = @reply_allowed = true | 35 | @comments_allowed = @reply_allowed = true |
app/models/merge_request.rb
| @@ -116,7 +116,7 @@ class MergeRequest < ActiveRecord::Base | @@ -116,7 +116,7 @@ class MergeRequest < ActiveRecord::Base | ||
| 116 | end | 116 | end |
| 117 | 117 | ||
| 118 | def diffs | 118 | def diffs |
| 119 | - load_diffs(st_diffs) || [] | 119 | + @diffs ||= (load_diffs(st_diffs) || []) |
| 120 | end | 120 | end |
| 121 | 121 | ||
| 122 | def reloaded_diffs | 122 | def reloaded_diffs |
| @@ -128,6 +128,8 @@ class MergeRequest < ActiveRecord::Base | @@ -128,6 +128,8 @@ class MergeRequest < ActiveRecord::Base | ||
| 128 | 128 | ||
| 129 | def broken_diffs? | 129 | def broken_diffs? |
| 130 | diffs == broken_diffs | 130 | diffs == broken_diffs |
| 131 | + rescue | ||
| 132 | + true | ||
| 131 | end | 133 | end |
| 132 | 134 | ||
| 133 | def valid_diffs? | 135 | def valid_diffs? |
app/views/projects/merge_requests/_show.html.haml
| @@ -21,7 +21,8 @@ | @@ -21,7 +21,8 @@ | ||
| 21 | .notes.tab-content.voting_notes#notes{ class: (controller.action_name == 'show') ? "" : "hide" } | 21 | .notes.tab-content.voting_notes#notes{ class: (controller.action_name == 'show') ? "" : "hide" } |
| 22 | = render "projects/notes/notes_with_form" | 22 | = render "projects/notes/notes_with_form" |
| 23 | .diffs.tab-content | 23 | .diffs.tab-content |
| 24 | - = render "projects/merge_requests/show/diffs" if @diffs | 24 | + - if current_page?(action: 'diffs') |
| 25 | + = render "projects/merge_requests/show/diffs" | ||
| 25 | .status | 26 | .status |
| 26 | 27 | ||
| 27 | :javascript | 28 | :javascript |
app/views/projects/merge_requests/show/_diffs.html.haml
| 1 | - if @merge_request.valid_diffs? | 1 | - if @merge_request.valid_diffs? |
| 2 | - = render "projects/commits/diffs", diffs: @diffs | 2 | + = render "projects/commits/diffs", diffs: @merge_request.diffs |
| 3 | - elsif @merge_request.broken_diffs? | 3 | - elsif @merge_request.broken_diffs? |
| 4 | %h4.nothing_here_message | 4 | %h4.nothing_here_message |
| 5 | Can't load diff. | 5 | Can't load diff. |
doc/install/installation.md
| @@ -184,11 +184,11 @@ You can change `5-3-stable` to `master` if you want the *bleeding edge* version, | @@ -184,11 +184,11 @@ You can change `5-3-stable` to `master` if you want the *bleeding edge* version, | ||
| 184 | sudo chmod -R u+rwX public/uploads | 184 | sudo chmod -R u+rwX public/uploads |
| 185 | 185 | ||
| 186 | # Copy the example Puma config | 186 | # Copy the example Puma config |
| 187 | - sudo -u git -H cp config/puma.rb.example config/puma.rb | 187 | + sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb |
| 188 | 188 | ||
| 189 | # Enable cluster mode if you expect to have a high load instance | 189 | # Enable cluster mode if you expect to have a high load instance |
| 190 | # Ex. change amount of workers to 3 for 2GB RAM server | 190 | # Ex. change amount of workers to 3 for 2GB RAM server |
| 191 | - sudo -u git -H vim config/puma.rb | 191 | + sudo -u git -H vim config/unicorn.rb |
| 192 | 192 | ||
| 193 | # Configure Git global settings for git user, useful when editing via web | 193 | # Configure Git global settings for git user, useful when editing via web |
| 194 | # Edit user.email according to what is set in gitlab.yml | 194 | # Edit user.email according to what is set in gitlab.yml |
| @@ -196,7 +196,7 @@ You can change `5-3-stable` to `master` if you want the *bleeding edge* version, | @@ -196,7 +196,7 @@ You can change `5-3-stable` to `master` if you want the *bleeding edge* version, | ||
| 196 | sudo -u git -H git config --global user.email "gitlab@localhost" | 196 | sudo -u git -H git config --global user.email "gitlab@localhost" |
| 197 | 197 | ||
| 198 | **Important Note:** | 198 | **Important Note:** |
| 199 | -Make sure to edit both `gitlab.yml` and `puma.rb` to match your setup. | 199 | +Make sure to edit both `gitlab.yml` and `unicorn.rb` to match your setup. |
| 200 | 200 | ||
| 201 | ## Configure GitLab DB settings | 201 | ## Configure GitLab DB settings |
| 202 | 202 |