summaryrefslogtreecommitdiff
path: root/lib/api/internal.rb
diff options
context:
space:
mode:
authorDan Knox <dknox@threedotloft.com>2013-03-03 19:43:52 -0800
committerDan Knox <dknox@threedotloft.com>2013-03-09 16:39:51 -0800
commitea9b3687db46bf876a6f966e61bfddc1e6d25ef3 (patch)
treeef3804fa0b37949aef1d823b794e9ae7ba41044e /lib/api/internal.rb
parent8e8372d5ce75713aa1452d7c818724dcbca72e53 (diff)
downloadgitlab-ce-ea9b3687db46bf876a6f966e61bfddc1e6d25ef3.tar.gz
Replace current Wiki system with Gollum Wikis.
This commit replaces the old database backed Wiki system with the excellent Gollum git based Wiki system. The UI has been updated to allow for utilizing the extra features that Gollum provides. Specifically: * Edit page now allows you to choose the content format. * Edit page allows you to provide a commit message for the change. * History page now shows Format, Commit Message, and Commit Hash. * A new Git Access page has been added with the Wiki Repo URL. * The default page has been changed to Home from Index to match the Gollum standard. The old Wiki model has been left in tact to provide for the development of a migration script that will move all content stored in the old Wiki system into new Gollum Wikis.
Diffstat (limited to 'lib/api/internal.rb')
-rw-r--r--lib/api/internal.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/api/internal.rb b/lib/api/internal.rb
index c85c01f87bb..654dbe8c4cb 100644
--- a/lib/api/internal.rb
+++ b/lib/api/internal.rb
@@ -12,10 +12,18 @@ module Gitlab
# ref - branch name
#
get "/allowed" do
+ # Check for *.wiki repositories.
+ # Strip out the .wiki from the pathname before finding the
+ # project. This applies the correct project permissions to
+ # the wiki repository as well.
+ project_path = params[:project]
+ project_path.gsub!(/\.wiki/,'') if project_path =~ /\.wiki/
+
key = Key.find(params[:key_id])
- project = Project.find_with_namespace(params[:project])
+ project = Project.find_with_namespace(project_path)
git_cmd = params[:action]
+
if key.is_deploy_key
project == key.project && git_cmd == 'git-upload-pack'
else