summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2016-07-16 05:18:19 +0000
committerStan Hu <stanhu@gmail.com>2016-07-16 05:18:19 +0000
commit2550c1c2bc70beb14293eebb243a2f6f3039d04b (patch)
treed15993c85596b7d159243022478d28de1bdb6ce0
parent9b597fb5c1bb322416aadf9c1a41f26d7c08e10f (diff)
parente94d3834c7d32f6e8a1d3d4c32d8be8cb1d7810c (diff)
downloadgitlab-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.rb7
-rw-r--r--spec/requests/api/internal_spec.rb14
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