Error 500 when creating a MR
Summary:
GitLab responds with 500 error when trying to create a new MR. The MR is between two branches and neither of them is the master. There is 25 commits between them, but the target branch is around 100 commits ahead of master.
It feels like diff generation is slower now than before update.
Before upgrading to 8.0.1, this worked as expected.
Expected behavior:
New MR is created.
Observed behavior:
500 Error.
Relevant logs and/or screenshots:
Started POST "/vs/projects/merge_requests" for 127.0.0.1 at 2015-09-23 09:50:45 +0300
Processing by Projects::MergeRequestsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"[FILTERED]", "merge_request"=>{"title"=>"XXXXXX", "description"=>"Closes issue #44.", "assignee_id"=>"", "milestone_id"=>"", "label_ids"=>[""], "approver_ids"=>"2", "source_project_id"=>"1", "source_branch"=>"xxxx", "target_project_id"=>"1", "target_branch"=>"yyyy"}, "namespace_id"=>"vs", "project_id"=>"projects"}
Started GET "/vs/projects/notes?target_id=62&target_type=merge_request&last_fetched_at=1442991019" for 127.0.0.1 at 2015-09-23 09:50:50 +0300
Processing by Projects::NotesController#index as JSON
Parameters: {"target_id"=>"62", "target_type"=>"merge_request", "last_fetched_at"=>"1442991019", "namespace_id"=>"vs", "project_id"=>"projects"}
Completed 500 Internal Server Error in 4981ms (ActiveRecord: 34.7ms)
NoMethodError (undefined method `[]' for #<Gitlab::Git::Diff:0x0000000d734648>):
app/models/merge_request_diff.rb:131:in `reload_diffs'
app/models/merge_request_diff.rb:43:in `reload_content'
app/services/merge_requests/create_service.rb:17:in `execute'
app/controllers/projects/merge_requests_controller.rb:110:in `create'