diff options
author | Stan Hu <stanhu@gmail.com> | 2016-07-16 05:18:19 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2016-07-16 05:18:19 +0000 |
commit | 2550c1c2bc70beb14293eebb243a2f6f3039d04b (patch) | |
tree | d15993c85596b7d159243022478d28de1bdb6ce0 | |
parent | 9b597fb5c1bb322416aadf9c1a41f26d7c08e10f (diff) | |
parent | e94d3834c7d32f6e8a1d3d4c32d8be8cb1d7810c (diff) | |
download | gitlab-ce-2550c1c2bc70beb14293eebb243a2f6f3039d04b.tar.gz |
Merge branch '19842-cloning-a-gitlab-wiki-returns-the-repo-not-the-repo-s-wiki' into 'master'
Fix a bug where the project's repository path was returned instead of the wiki path
Closes #19842
See merge request !5292
-rw-r--r-- | lib/api/internal.rb | 7 | ||||
-rw-r--r-- | spec/requests/api/internal_spec.rb | 14 |
2 files changed, 17 insertions, 4 deletions
diff --git a/lib/api/internal.rb b/lib/api/internal.rb index d5dfba5e0cc..959b700de78 100644 --- a/lib/api/internal.rb +++ b/lib/api/internal.rb @@ -63,7 +63,12 @@ module API if access_status.status # Return the repository full path so that gitlab-shell has it when # handling ssh commands - response[:repository_path] = project.repository.path_to_repo + response[:repository_path] = + if wiki? + project.wiki.repository.path_to_repo + else + project.repository.path_to_repo + end end response diff --git a/spec/requests/api/internal_spec.rb b/spec/requests/api/internal_spec.rb index e567d36afa8..f6f85d6e95e 100644 --- a/spec/requests/api/internal_spec.rb +++ b/spec/requests/api/internal_spec.rb @@ -56,13 +56,21 @@ describe API::API, api: true do context "git push with project.wiki" do it 'responds with success' do - project_wiki = create(:project, name: 'my.wiki', path: 'my.wiki') - project_wiki.team << [user, :developer] + push(key, project.wiki) - push(key, project_wiki) + expect(response).to have_http_status(200) + expect(json_response["status"]).to be_truthy + expect(json_response["repository_path"]).to eq(project.wiki.repository.path_to_repo) + end + end + + context "git pull with project.wiki" do + it 'responds with success' do + pull(key, project.wiki) expect(response).to have_http_status(200) expect(json_response["status"]).to be_truthy + expect(json_response["repository_path"]).to eq(project.wiki.repository.path_to_repo) end end |