Skip to content

Fix downloading of patches on public merge requests when user logged out

Stan Hu requested to merge stanhu/gitlab-ce:fix-diff-patch-public-mr into master

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?

Merge request reports