Fix downloading of patches on public merge requests when user logged out
What does this MR do?
This MR makes it possible to download a diff patch on a public merge request when a user is logged out.
Why was this MR needed?
An Error 500 would result when a user attempted to click on the "Email Patches" or "Plain Diff" button:
NoMethodError - undefined method `id' for nil:NilClass:
lib/gitlab/backend/shell_env.rb:9:in `set_env'
lib/gitlab/satellite/action.rb:20:in `in_locked_and_timed_satellite'
lib/gitlab/satellite/merge_action.rb:49:in `diff_in_satellite'
app/models/merge_request.rb:219:in `to_diff'
app/controllers/projects/merge_requests_controller.rb:42:in `block (2 levels) in show'
What are the relevant issue numbers?
- Closes #1225 (closed)
- Closes #1854 (closed) (dup)
- Closes #1858 (closed) (dup)