summaryrefslogtreecommitdiff
path: root/spec/controllers
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-04-12 22:27:45 -0700
committerStan Hu <stanhu@gmail.com>2015-04-27 20:42:38 -0700
commit72a7febeada2c58c98caee8bb7ce18886a7c0868 (patch)
tree22cde467a3b87e93babb526b154003ffad12fef6 /spec/controllers
parent9f443f42578f8f995415f3d0b9aa9ee8aebeff0b (diff)
downloadgitlab-ce-72a7febeada2c58c98caee8bb7ce18886a7c0868.tar.gz
Fix "Revspec not found" errors when viewing diffs in a forked project with submodules
Closes #1413
Diffstat (limited to 'spec/controllers')
-rw-r--r--spec/controllers/merge_requests_controller_spec.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/controllers/merge_requests_controller_spec.rb b/spec/controllers/merge_requests_controller_spec.rb
index d6f56ed33d6..c94ef1629ae 100644
--- a/spec/controllers/merge_requests_controller_spec.rb
+++ b/spec/controllers/merge_requests_controller_spec.rb
@@ -78,4 +78,24 @@ describe Projects::MergeRequestsController do
end
end
end
+
+ context '#diffs with forked projects with submodules' do
+ render_views
+ let(:project) { create(:project) }
+ let(:fork_project) { create(:forked_project_with_submodules) }
+ let(:merge_request) { create(:merge_request_with_diffs, source_project: fork_project, source_branch: 'add-submodule-version-bump', target_branch: 'master', target_project: project) }
+
+ before do
+ fork_project.build_forked_project_link(forked_to_project_id: fork_project.id, forked_from_project_id: project.id)
+ fork_project.save
+ merge_request.reload
+ end
+
+ it '#diffs' do
+ get(:diffs, namespace_id: project.namespace.to_param,
+ project_id: project.to_param, id: merge_request.iid, format: 'json')
+ expect(response).to be_success
+ expect(response.body).to have_content('Subproject commit')
+ end
+ end
end